巧用setContentView的应用
来源:互联网 发布:java学生管理系统 编辑:程序博客网 时间:2024/06/06 10:39
一个activity中共存多个layout
两个页面的切换最简单的方式就是改变Activity的layout,还可以共享数据,一个字爽。以下是简单的demo。
效果图
初始图:
第二张图:
代码块
第一个布局activity_main.xml:
<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="@string/first_layout" /> <Button android:id="@+id/btnChange2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/btn_change"/></LinearLayout>
第二个布局second_layout.xml:
<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="@string/second_layout" /> <Button android:id="@+id/btnChange1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/btn_change"/></LinearLayout>
activity的页面转换:
package com.zxx.twolayoutinacitivity;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity { private Button btnChange1; private Button btnChange2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnChange1 = (Button) findViewById(R.id.btnChange2); btnChange1.setOnClickListener(new MyClickListener()); } private void setSecondLayout(){ setContentView(R.layout.second_layout); btnChange1 = (Button) findViewById(R.id.btnChange1); btnChange1.setOnClickListener(new MyClickListener()); } private void setFirstLayout(){ setContentView(R.layout.activity_main); btnChange1 = (Button) findViewById(R.id.btnChange2); btnChange1.setOnClickListener(new MyClickListener()); } class MyClickListener implements OnClickListener{ @Override public void onClick(View view) { switch (view.getId()) { case R.id.btnChange1: setFirstLayout(); break; case R.id.btnChange2: setSecondLayout(); break; default: break; } } }}
保存运行,搞定。
注: 特别的优点:所有的程序里的变量皆存在相同的状态,可以用来改变系统的样式,也可以所有的值皆可共享,无需传递变量。
0 0
- 巧用setContentView的应用
- 手机页面的转换----setContentView的应用
- 手机页面转换--关于setContentView的应用
- 手机页面的切换(setContentView的应用)
- Android setContentView的位置
- setContentView() 、LayoutInflater的区别
- setContentView的源码
- setContentView( )的简单用法
- setContentView()方法的使用
- setContentView() 、LayoutInflater的区别
- 理解setContentView的作用
- setContentView()源码的理解
- Android setContentView的用法
- Activity的setContentView解析
- setContentView背后的故事
- setContentView对应的getContentView
- setContentView
- setContentView
- windows客户端开发--为你的客户端增加日志系统(log4cplus)
- 01背包路径输出
- PHP设计模式之适配器模式
- 结构体练手
- 设置Linux系统的时区
- 巧用setContentView的应用
- 关于strcpy函数的实现
- 打开Linux ftp服务,如:vsftpd: unrecognized service
- 冒泡排序
- android自定义滑动选择开关
- 无法连接到visual studio开发服务器的解决方法不仅仅是关闭防火墙
- U盘装系统win7
- EasyUI菜单
- 快速排序