手机界面的切换_setContentView的应用
res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/black" > <TextView android:id="@+id/text1" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:text="@string/layout1" /> <Button android:id="@+id/button1" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Layout2" /> </AbsoluteLayout>
在res/layout中新建一个布局文件mylayout.xml
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/white" > <TextView android:id="@+id/text2" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:text="@string/layout2" /> <Button android:id="@+id/button2" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Layout1" /> </AbsoluteLayout>
Test01Activity.java:
package xiacl.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Button; public class Test01Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*加载main.xml Layout*/ setContentView(R.layout.main); /*以findViewById()取得Button对象,并添加onClickListener*/ Button b1=(Button)findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v){ jumpToLayout2(); } }); } /*方法jumpToLayout2:将layout由main.xml切换成mylayout.xml*/ public void jumpToLayout2() { /*将layout改成mylayout.xml 这也是功能实现的代码*/ setContentView(R.layout.mylayout); Button b2=(Button)findViewById(R.id.button2); b2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v){ jumpToLayout1(); } }); } /*方法jumpToLayout1:将layout由mylayout.xml切换成main.xml*/ public void jumpToLayout1() { /*将layout改回main.xml*/ setContentView(R.layout.main); Button b1=(Button)findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v){ jumpToLayout2(); } }); } }
调用另一个Activity_Intent的使用
Test01Activity.java:
package xiacl.test; /*import 相关class*/ import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Button; import android.content.Intent; public class Test01Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*加载main.xml Layout*/ setContentView(R.layout.main); /*以findViewById()取得Button对象,并添加onClickListener*/ Button b1=(Button)findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v){ /*new一个Intent对象,并指定要启动的class*/ Intent intent=new Intent(); intent.setClass(Test01Activity.this, Test02.class); /*调用一个新的Activity*/ startActivity(intent); /*关闭原本的Activity*/ Test01Activity.this.finish(); } }); } }
在src/xiacl.test里新建一个Test02.java:
package xiacl.test; /*import 相关class*/ import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Button; import android.content.Intent; public class Test02 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*加载mylayout.xml Layout*/ setContentView(R.layout.mylayout); /*以findViewById()取得Button对象,并添加onClickListener*/ Button b2=(Button)findViewById(R.id.button2); b2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v){ /*new一个Intent对象,并指定要启动的class*/ Intent intent=new Intent(); intent.setClass(Test02.this, Test01Activity.class); /*调用一个新的Activity*/ startActivity(intent); /*关闭原本的Activity*/ Test02.this.finish(); } }); } }
最后 在系统中新添加Activity时,必须在AndroidManifest.xml里定义一个新的activity。
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xiacl.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Test01Activity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> /添加一个新的Activity Test02*/ <activity android:name="Test02"></activity> </application> </manifest>
posted on
浙公网安备 33010602011771号