您现在的位置:首页 >> 手机开发 >> android项目 >> 内容

[android] 界面切换的核心方法--Java学习网

时间:2016-11-25 8:02:22

  核心提示:根据效果图拆分界面主体部分View == ViewGroup == RelativeLayout,主体部分使用RelativeLayout作为占位View和ViewGroup的区别:ViewGroup...

根据效果图拆分界面

 

  1. 主体部分

 

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

 

ViewViewGroup的区别:ViewGroup有特有的addView()removeView()方法,RelativeLayout添加进来View之后,后一个会覆盖住前一个ViewLinearLayout添加进View之后,会顺序排放,不适合

 

设计原理:

树形结构的数据处理,遵循组合设计模式

 

  1. 简单的界面切换

 

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

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

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;
    }
}

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns   随时随地学Java

或扫一扫

随时随地学Java

作者:不详 来源:网络
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号