Android TabHost的使用,这里采用继承TabActivity的方法。
这里分别定制三个Tab,分别为american.xml, chinese.xml, japanese.xml三个Layout。
american.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:orientation=
"vertical"
>
<Button
android:id=
"@+id/button1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"American1"
/>
<Button
android:id=
"@+id/button2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"American2"
/>
</LinearLayout>
|
chinese.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:orientation=
"vertical"
>
<Button
android:id=
"@+id/button1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Chinese button 1"
/>
<Button
android:id=
"@+id/button2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Chinese button 2"
/>
</LinearLayout>
|
japanese.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:orientation=
"vertical"
>
<Button
android:id=
"@+id/button1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Japanese button 1"
/>
<Button
android:id=
"@+id/button2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Japanese button 2"
/>
</LinearLayout>
|
三个Layout对应的java文件为AmericanActivity.java, ChinaActivity.java, JapanActivity.java
AmericanActivity.java文件
public
class
AmericanActivity extends Activity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.american);
}
}
|
ChinaActivity.java文件
public
class
ChinaActivity extends Activity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chinese);
}
}
|
JapanActivity.java文件
public
class
JapanActivity extends Activity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.japanese);
}
}
|
MainActivity.java 继承TabActivity。
public
class
MainActivity extends TabActivity {
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
Resources resources = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent =
new
Intent(
this
,AmericanActivity.
class
);
spec = tabHost.newTabSpec(
"American"
);
spec.setIndicator(
"Ameican Tab"
);
spec.setContent(intent);
tabHost.addTab(spec);
Intent intent2 =
new
Intent(
this
,ChinaActivity.
class
);
spec = tabHost.newTabSpec(
"China"
);
spec.setIndicator(
"China Tab"
)
spec.setContent(intent2);
tabHost.addTab(spec);
Intent intent3 =
new
Intent(
this
,JapanActivity.
class
);
spec = tabHost.newTabSpec(
"Japanese"
);
spec.setIndicator(
"Japanese Tab"
);
spec.setContent(intent3);
tabHost.addTab(spec);
tabHost.setCurrentTab(1);
}
}
|
注意:在AndroidManifest文件中加入下面三行代码。
<activity android:name=
"com.example.app1.AmericanActivity"
android:label=
"@string/app_name"
></activity>
<activity android:name=
"com.example.app1.JapanActivity"
android:label=
"@string/app_name"
></activity>
<activity android:name=
"com.example.app1.ChinaActivity"
android:label=
"@string/app_name"
></activity>
|
效果图:
本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2013/03/16/2963592.html,如需转载请自行联系原作者