码迷,mamicode.com
首页 > 其他好文 > 详细

鹏达影音

时间:2017-10-28 21:08:23      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:执行   定时   控件   splash   yingyin   final   int   messages   callbacks   

前序:今天开始我会每天更新这个项目的进展和想法,如果有什么不对的地方,也希望网友们提出来,大家一起学习!

          注意:我是按照项目的整一个逻辑顺序一点点的去实现,所以篇幅有点长,但只要用心去看和实现,一定会有收获,好了,不瞎比比了,直接进正文。

 

一.登陆界面

1)效果图(个人很装逼的用了自己的相片去作为登陆页面的imageview)

 

2)需求分析

(1)界面:因为组件要素都在中间聚集,所以最好用相对布局来写这些组件,因为相对布局可以相对于父容器和控件。最后分析这里有什么组件要素,这里有imageview,textview和progressbar这三个控件;

(2)定时跳转到主界面;

(3)点击登陆界面跳转到主界面;

(4)主界面返回的时候直接跳出app,而不会返回登陆界面或者说多次停留在主页。

 

3)上代码:

1)布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    tools:context=".activity.SplashActivity">

    <ImageView
        android:id="@+id/iv_splash_icon"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/iv_splash_icon"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:orientation="horizontal">

        <ProgressBar
            android:layout_width="30dp"
            android:layout_height="30dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:text="正在启动..."
            android:textSize="18sp" />
    </LinearLayout>
</RelativeLayout>

  

2)SplashActivity

package com.example.pdyingyin.activity;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.MotionEvent;

import com.example.pdyingyin.R;

//登陆界面
public class SplashActivity extends Activity {

    private static final String TAG = SplashActivity.class.getSimpleName();//"SplashActivity"
   
private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash);

//需求一:定时两秒跳转到主界面 handler.postDelayed(new Runnable() { @Override public void run() { //两秒后才执行到这里 //执行在主线程中(在那个线程里调用这个方法,就在那个线程里执行) startMainActivity(); Log.e(TAG, "当前线程名称==" + Thread.currentThread().getName()); } }, 2000); }
//以上需求一的逻辑代码

private boolean isStartMain = false; /** * 跳转到主页面,并且把当前页面关闭掉 */ private void startMainActivity() { //这个的作用是如果我们之前直接按了键进去首页了,之后在执行主线程的startMainactivity方法时,就不执行逻辑处理了, //从而避免发生多个同种活动存在
//需求三 if(!isStartMain){ isStartMain = true; Intent intent = new Intent(this,MainActivity.class); startActivity(intent); //关闭当前页面 finish(); } }
//需求二:点击界面跳转到主界面 //普通的话,我们会等两秒之后在跳转到我们的主页面,而这个方法的出现就是 //当我们点击界面时,我们就进入到我们的主页面了 @Override public boolean onTouchEvent(MotionEvent event) { Log.e(TAG,"onTouchEvent==Action"+event.getAction()); startMainActivity(); return super.onTouchEvent(event); } @Override protected void onDestroy() { //把所有的消息和回调移除 handler.removeCallbacksAndMessages(null); super.onDestroy(); } }

    4)总结:直接看代码里面的注释,按照需求为单位一个一个功能去消化。

 

 

二.主界面

1)效果图

2)需求分析:

(0)其布局为一个标题栏,一个

(1)其有四大页面,也就是要用到fragment碎片

(2)要为每个按钮设立监听

(3)要为每个按钮设置点击前后变化

(4)其要有一个特制的标题栏,该标题栏有一个搜索功能,点击搜索的话跳转到搜索的界面,还有两个按钮

鹏达影音

标签:执行   定时   控件   splash   yingyin   final   int   messages   callbacks   

原文地址:http://www.cnblogs.com/lpd1/p/7747970.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!