TabHost 两种使用方法 直接让一个Activity 继承TabActivity 和 利用findViwById()方法取得TagHost组件...
生活随笔
收集整理的這篇文章主要介紹了
TabHost 两种使用方法 直接让一个Activity 继承TabActivity 和 利用findViwById()方法取得TagHost组件...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
?
?
?第一種,TabActivity 解決方案
下面建立的布局文件,它包含多個標簽的顯示組件
Tab.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id = "@+id/MyLayout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><LinearLayout android:id ="@+id/tab_edit"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><EditTextandroid:id ="@+id/edit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize= "18px"android:text = "請輸入檢索關鍵字"/><Buttonandroid: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" ><AnalogClockandroid: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"android:orientation="vertical" ><RadioGroupandroid: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>?
import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.TabHost; import android.widget.TabHost.TabSpec;public class TabHostDemo extends TabActivity {private TabHost myTabHost;private int[] layRes = new int[]{R.id.tab_edit,R.id.tab_clock,R.id.tab_sex};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.tab);this.myTabHost = super.getTabHost(); //取得TabHost對象LayoutInflater.from(this).inflate(R.layout.tab,this.myTabHost.getTabContentView(), true); for(int x=0; x < this.layRes.length; x++){TabSpec myTab = myTabHost.newTabSpec("tab" + x);myTab.setIndicator("標簽 -"+x);myTab.setContent(this.layRes[x]);this.myTabHost.addTab(myTab);}} }?
? ??
? ? ? ??
? ? ? ?
?
?
第二種 ??表格標簽(繼承Activity)利用Tab.xml布局
Tab.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id ="@+id/tabhost" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" > 7 <LinearLayout 8 android:orientation="vertical" 9 android:layout_width="fill_parent" 10 android:layout_height="fill_parent" 11 > 12 13 14 <TabWidget 15 android:id ="@android:id/tabs" 16 android:layout_width="fill_parent" 17 android:layout_height="wrap_content" 18 android:layout_alignParentTop="true" 19 /> 20 <FrameLayout 21 android:id="@android:id/tabcontent" 22 android:layout_width="fill_parent" 23 android:layout_height="fill_parent" 24 > 25 <LinearLayout 26 android:id ="@+id/tab_edit" 27 android:layout_width="fill_parent" 28 android:layout_height="fill_parent" 29 android:orientation="vertical" > 30 31 32 <EditText 33 android:id ="@+id/edit" 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:textSize= "18px" 37 android:text = "請輸入檢索關鍵字" 38 /> 39 <Button 40 android:id = "@+id/but" 41 android:layout_width="wrap_content" 42 android:layout_height="wrap_content" 43 android:text = "搜索" 44 /> 45 </LinearLayout> 46 <LinearLayout 47 android:id ="@+id/tab_clock" 48 android:layout_width="fill_parent" 49 android:layout_height="fill_parent" 50 androidrientation="vertical" > 51 52 53 <AnalogClock 54 android:id ="@+id/myAnalogClock" 55 android:layout_width="wrap_content" 56 android:layout_height="wrap_content" 57 58 /> 59 60 </LinearLayout> 61 62 63 <LinearLayout 64 android:id ="@+id/tab_sex" 65 android:layout_width="fill_parent" 66 android:layout_height="fill_parent" 67 android:orientation="vertical" > 68 69 70 <RadioGroup 71 android:id ="@+id/sex" 72 android:layout_width="fill_parent" 73 android:layout_height="wrap_content" 74 android:orientation="vertical" 75 > 76 <RadioButton 77 android:id ="@+id/male" 78 android:checked = "true" 79 android:text = "性別 : 男" 80 /> 81 <RadioButton 82 android:id ="@+id/female" 83 android:text = "性別 : 女" 84 /> 85 </RadioGroup> 86 </LinearLayout> 87 </FrameLayout> 88 </LinearLayout> 89 </TabHost>?
TabHostDemo.java 1 package cn.TabHost; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.widget.TabHost; 6 import android.widget.TabHost.TabSpec; 7 8 public class TabHostDemo extends Activity { 9 private TabHost myTabHost; 10 private int[] layRes = new int[]{R.id.tab_edit,R.id.tab_clock, 11 R.id.tab_sex}; 12 13 @Override 14 public void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.tab); 17 18 myTabHost = (TabHost)findViewById(R.id.tabhost); 19 myTabHost.setup(); //建立TabHost對象 20 for(int x=0; x < this.layRes.length; x++ ) { 21 TabSpec myTab = myTabHost.newTabSpec("tag" + x); 22 myTab.setIndicator("標簽 - " + x); 23 myTab.setContent(this.layRes[x]); 24 myTabHost.addTab(myTab); 25 26 } 27 this.myTabHost.setCurrentTab(2); //默認顯示的標簽索引為2 28 } 29 }?
?
?
第三種 ?表格標簽在下方顯示 ? ? ? ?
就是在Tab.xml中把 ?LinearLayout改成RelativeLayout。 ? TabWidget 標簽加入??android:layout_alignParentBottom="true"
Tab.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id ="@+id/tabhost" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" > 7 <RelativeLayout 8 android:orientation="vertical" 9 android:layout_width="fill_parent" 10 android:layout_height="fill_parent" 11 > <!-- 相對布局可以任意擺放,不像 線性布局,從上往下。 --> 12 13 14 <TabWidget 15 android:id ="@android:id/tabs" 16 android:layout_width="fill_parent" 17 android:layout_height="wrap_content" 18 android:layout_alignParentBottom="true" 19 /> 20 <FrameLayout 21 android:id="@android:id/tabcontent" 22 android:layout_width="fill_parent" 23 android:layout_height="fill_parent" 24 > 25 <LinearLayout 26 android:id ="@+id/tab_edit" 27 android:layout_width="fill_parent" 28 android:layout_height="fill_parent" 29 android:orientation="vertical" > 30 31 32 <EditText 33 android:id ="@+id/edit" 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:textSize= "18px" 37 android:text = "請輸入檢索關鍵字" 38 /> 39 <Button 40 android:id = "@+id/but" 41 android:layout_width="wrap_content" 42 android:layout_height="wrap_content" 43 android:text = "搜索" 44 /> 45 </LinearLayout> 46 <LinearLayout 47 android:id ="@+id/tab_clock" 48 android:layout_width="fill_parent" 49 android:layout_height="fill_parent" 50 androidrientation="vertical" > 51 52 53 <AnalogClock 54 android:id ="@+id/myAnalogClock" 55 android:layout_width="wrap_content" 56 android:layout_height="wrap_content" 57 58 /> 59 60 </LinearLayout> 61 62 63 <LinearLayout 64 android:id ="@+id/tab_sex" 65 android:layout_width="fill_parent" 66 android:layout_height="fill_parent" 67 android:orientation="vertical" > 68 69 70 <RadioGroup 71 android:id ="@+id/sex" 72 android:layout_width="fill_parent" 73 android:layout_height="wrap_content" 74 android:orientation="vertical" 75 > 76 <RadioButton 77 android:id ="@+id/male" 78 android:checked = "true" 79 android:text = "性別 : 男" 80 /> 81 <RadioButton 82 android:id ="@+id/female" 83 android:text = "性別 : 女" 84 /> 85 </RadioGroup> 86 </LinearLayout> 87 </FrameLayout> 88 </RelativeLayout> 89 </TabHost>轉載于:https://www.cnblogs.com/firecode/archive/2012/07/30/2614654.html
總結
以上是生活随笔為你收集整理的TabHost 两种使用方法 直接让一个Activity 继承TabActivity 和 利用findViwById()方法取得TagHost组件...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帝国CMS的phomenewspic/e
- 下一篇: Eclipse启动出现“Failed t