通过修改helloword程序,添加一个layout实现两个layout的跳转
1、在rec - layout目录新建mylayout.xml文件,添加一个layout、一个button和一个textview,可以通过修改复制main.xml文件获得,或者使用Graphicol layout编辑器创建。
2、修改string.xml文件,添加两个字符串,内容如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="layout1">this is layout1!</string>
<string name="layout2">this is layout2!</string>
<string name="app_name">HelloWorld</string>
</resources>
3、在rec - values目录添加color.xml文件,并添加三个Color 元素,内容如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="green">#FF00FF00</color>
<color name="blue">#FF0000FF</color>
<color name="black">#FF000000</color>
</resources>
4、修改main.xml和mylayout.xml文件,设置textview颜色和字体,以区别不同的layout,main.xml修改如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/view1"
android:text="@string/layout1"
android:background="@color/blue"
android:textColor="@color/black"
android:textSize="28px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:text="go to layout2"
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
</LinearLayout>
mylayout.xml文件修改如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/view2"
android:text="@string/layout2"
android:background="@color/green"
android:textColor="@color/black"
android:textSize="28px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:text="go to layout1"
android:id="@+id/button2"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
</LinearLayout>
5、修改HelloWorldActivity.java文件,添加button的单击事件,实现layout的跳转,setContentView函数用来设置当前显示的layout,具体代码如下
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button testbut = (Button)findViewById(R.id.button1);
// 设置button单击事件
testbut.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
showlayout2();
}
});
}
// 跳转到layout2
public void showlayout2(){
// 设置当前显示为layout2
setContentView(R.layout.mylayout);
// 获取button对象
Button btn2 = (Button)findViewById(R.id.button2);
// 设置button单击事件
btn2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
showlayout1();
}
});
}
// 跳转到layout1
public void showlayout1(){
// 设置当前显示为layout1
setContentView(R.layout.main);
// 获取button对象
Button btn1 = (Button)findViewById(R.id.button1);
// 设置button单击事件
btn1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
showlayout2();
}
});
}
}
6、运行程序,效果如下