Android学习之TabHost标签
程序员文章站
2022-05-22 17:00:26
...
tab.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyLayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/tab_edit" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical"> <EditText android:id="@+id/edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请输入检索关键字..." android:textSize="18sp"/> <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="搜索"/> </LinearLayout> <LinearLayout android:id="@+id/tab_clock" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical"> <AnalogClock android:id="@+id/myAnalogClock" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:id="@+id/tab_sex" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical"> <RadioGroup android:id="@+id/sex" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/male" android:checked="true" android:text="性别:男"/> <RadioButton android:id="@+id/female" android:text="性别:女"/> </RadioGroup> </LinearLayout> </LinearLayout>
MyTabHostDemo.java:
import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class MyTabHostDemo extends TabActivity { // 直接继承TabActivity private TabHost myTabHost; // 定义TabHost private int[] layRes = { R.id.tab_edit, R.id.tab_clock , R.id.tab_sex }; // 定义内嵌布局管理器ID @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.myTabHost = super.getTabHost() ; // 取得TabHost对象 LayoutInflater.from(this) // 取得LayoutInflater对象 .inflate(R.layout.tab, // 定义转换的布局管理器 this.myTabHost.getTabContentView(), // 指定标签增加的容器 true); // 实例化布局管理器中的组件 for (int x = 0; x < this.layRes.length; x++) { // 循环取出所有布局标记 TabSpec myTab = myTabHost.newTabSpec("tab" + x); // 定义TabSpec myTab.setIndicator("标签 - " + x) ; // 设置标签文字 myTab.setContent(this.layRes[x]) ; // 设置显示的组件 this.myTabHost.addTab(myTab) ; // 增加标签 } } }