[android] 界面切换的主导措施

by admin on 2019年3月29日

据书上说效益图拆分界面

 

  1. 中央部分

 

View ==> ViewGroup ==> RelativeLayout,主体部分使用RelativeLayout作为占位

 

View和ViewGroup的区分:ViewGroup有特有的addView()和removeView()方法,RelativeLayout添加进来View之后,后2个会覆盖住前3个View;LinearLayout添加进View之后,会相继排泄,不切合

 

规划原理:

树形结构的数量处理,遵守组合设计方式

 

  1. 简单易行的界面切换

 

找到主体部分的RelativeLayout对象,添加进去View对象

两秒后切换第二个界面,利用Handler发送延迟消息模拟切换

2018正版葡京赌侠诗,RelativeLayout对象,添加进去第二个View对象

 

问题:

  1. 理清掉此前界面
  2. 切换动画
  3. 切换页面的通用化处理
  4. 选择按钮点击切换

 

MainActivity.java

    private Handler handler=new Handler(){

        @Override
        public void handleMessage(Message msg) {
            loadMemberView();
        }
    };
    /**
     * 初始化主体
     */
    public void initMiddle() {
        mainContainer=(RelativeLayout) findViewById(R.id.il_main);
        loadLoginView();
        handler.sendEmptyMessageDelayed(1, 2000);
    }
    /**
     * 加载登陆界面
     */
    private void loadLoginView() {
        View child=new IndexView(this).getLoginView();
        mainContainer.addView(child);
    }
    /**
     * 加载会员界面
     */
    private void loadMemberView() {
        View child=new IndexView(this).getMemberView();
        mainContainer.removeAllViews();
        mainContainer.addView(child);
    }

IndexView.java

package com.tsh.lottery.views;

import android.content.Context;
import android.view.View;
import android.widget.TextView;
/**
 * 界面
 * @author taoshihan
 *
 */
public class IndexView {
    private Context context;

    public IndexView(Context context) {
        this.context = context;
    }
    /**
     * 获取登陆界面
     * @return
     */
    public View getLoginView() {
        TextView tv=new TextView(context);
        tv.setText("我是登陆界面");
        return tv;
    }
    /**
     * 获取会员界面
     * @return
     */
    public View getMemberView() {
        TextView tv=new TextView(context);
        tv.setText("我是会员界面");
        return tv;
    }
}

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图