手机页面的切换(setContentView的应用)
新建一个继承Activity类的SetContentViewActivity,并设置布局文件为:setcontentview1.xml和setcontentview2.xml。
首先在setcontentview1.xml的布局文件中定义一个TextView和一个Button组件,并设置背景颜色为红色。而后在setcontentview2.xml的布局文件中也定义一个TextView和一个Button组件,并设置背景颜色为蓝色。
setcontentview1.xml代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFF0000" android:orientation="vertical" >
<TextView android:textColor="#FFFFFFFF" android:id="@+id/setcontentview1_tv01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/setcontentview1_tv01" android:textSize="24sp" />
<Button android:id="@+id/setcontentview1_btn01" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/setcontentview1_tv01" android:textSize="24sp" />
</LinearLayout> |
setcontentview2.xml代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000FF" android:orientation="vertical" >
<TextView android:textColor="#FFFFFFFF" android:id="@+id/setcontentview2_tv01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/setcontentview2_tv01" android:textSize="24sp" />
<Button android:id="@+id/setcontentview1_btn02" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/setcontentview2_tv01" android:textSize="24sp" />
</LinearLayout> |
写好了布局文件后,就开始修改Activity代码。在代码中可以定义2个方法:jumpToLayoutOne()和jumpToLayoutTwo()。在jumpToLayoutOne()方法中,先设置布局的显示文件为setcontentview1.xml,而后获取Button的实例并为其添加单击事件。在事件处理中只要调用jumpToLayoutTwo()方法即可:
具体实现代码:
package lyx.feng.simpletextdemo; ...... public class SetContentViewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 默认跳到setcontentview1这个布局文件 jumpToLayoutOne(); }
private void jumpToLayoutOne() { super.setContentView(R.layout.setcontentview1); findViewById(R.id.setcontentview1_btn01).setOnClickListener( new OnClickListener() {
@Override public void onClick(View v) { jumpToLayoutTwo(); } }); }
private void jumpToLayoutTwo() { super.setContentView(R.layout.setcontentview2); findViewById(R.id.setcontentview1_btn02).setOnClickListener( new OnClickListener() {
@Override public void onClick(View v) { jumpToLayoutOne(); } }); } }
|
效果:
点击按钮后: