首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

TabHost三种兑现方式

2012-06-28 
TabHost三种实现方式第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体

TabHost三种实现方式

第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了.

xml布局:

  1. <FrameLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  2. ????android:layout_width="fill_parent"?android:layout_height="fill_parent"> ??
  3. ????<LinearLayout?android:id="@+id/widget_layout_Blue"??
  4. ????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  5. ????????android:orientation="vertical"?> ??
  6. ????????<EditText?android:id="@+id/widget34"?android:layout_width="fill_parent"??
  7. ????????????android:layout_height="wrap_content"?android:text="EditText"??
  8. ????????????android:textSize="18sp"> ??
  9. ????????</EditText> ??
  10. ????????<Button?android:id="@+id/widget30"?android:layout_width="wrap_content"??
  11. ????????????android:layout_height="wrap_content"?android:text="Button"> ??
  12. ????????</Button> ??
  13. ????</LinearLayout> ??
  14. ????<LinearLayout?android:id="@+id/widget_layout_red"??
  15. ????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  16. ????????android:orientation="vertical"??> ??
  17. ????????<AnalogClock?android:id="@+id/widget36"??
  18. ????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"> ??
  19. ????????</AnalogClock> ??
  20. ????</LinearLayout>???
  21. ????<LinearLayout?android:id="@+id/widget_layout_green"??
  22. ????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  23. ????????android:orientation="vertical"> ??
  24. ????????<RadioGroup?android:id="@+id/widget43"??
  25. ????????????android:layout_width="166px"?android:layout_height="98px"??
  26. ????????????android:orientation="vertical"> ??
  27. ????????????<RadioButton?android:id="@+id/widget44"??
  28. ????????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"??
  29. ????????????????android:text="RadioButton"> ??
  30. ????????????</RadioButton> ??
  31. ????????????<RadioButton?android:id="@+id/widget45"??
  32. ????????????????android:layout_width="wrap_content"?android:layout_height="wrap_content"??
  33. ????????????????android:text="RadioButton"> ??
  34. ????????????</RadioButton> ??
  35. ????????</RadioGroup> ??
  36. ????</LinearLayout> ??
  37. </FrameLayout> ??
  38. ??
  39. java代码: ??
  40. super.onCreate(savedInstanceState); ??
  41. ????????myTabhost=this.getTabHost(); ??
  42. ????????//get?Tabhost???
  43. ????????LayoutInflater.from(this).inflate(R.layout.main,?myTabhost.getTabContentView(),?true); ??
  44. ????????myTabhost.setBackgroundColor(Color.argb(150,?22,?70,?150)); ??
  45. ???????????
  46. ????????myTabhost ??
  47. ????????????????.addTab(myTabhost.newTabSpec("One")//?make?a?new?Tab???
  48. ????????????????????????.setIndicator("A") ??
  49. ????????????????????????//?set?the?Title?and?Icon???
  50. ????????????????????????.setContent(R.id.widget_layout_Blue)); ??
  51. ????????//?set?the?layout???
  52. ??
  53. ????????myTabhost ??
  54. ????????????????.addTab(myTabhost.newTabSpec("Two")//?make?a?new?Tab???
  55. ????????????????????????.setIndicator("B", ??
  56. ????????????????????????????????getResources().getDrawable(R.drawable.mumule)) ??
  57. ????????????????????????//?set?the?Title?and?Icon???
  58. ????????????????????????.setContent(R.id.widget_layout_green)); ??
  59. ????????//?set?the?layout???
  60. ??
  61. ????????myTabhost ??
  62. ????????????????.addTab(myTabhost.newTabSpec("Three")//?make?a?new?Tab???
  63. ????????????????????????.setIndicator("C", ??
  64. ????????????????????????????????getResources().getDrawable(R.drawable.notepad)) ??
  65. ????????????????????????//?set?the?Title?and?Icon???
  66. ????????????????????????.setContent(R.id.widget_layout_red));

?

第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.

xml布局:

  1. <?xml?version="1.0"?encoding="utf-8"?> ??
  2. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"?????
  3. ????android:id="@+id/hometabs"??
  4. ????android:orientation="vertical"??
  5. ????android:layout_width="fill_parent"?????
  6. ????android:layout_height="fill_parent">????
  7. ????<TabHost?android:id="@+id/tabhost"??
  8. ????????android:layout_width="wrap_content"??
  9. ????????android:layout_height="wrap_content"> ??
  10. ????????<LinearLayout ??
  11. ????????????android:orientation="vertical"??
  12. ????????????android:layout_width="fill_parent"??
  13. ????????????android:layout_height="fill_parent"> ??
  14. ???????????????
  15. ????????????<TabWidget?android:id="@android:id/tabs"????
  16. ??????????????android:orientation="horizontal"??
  17. ??????????????android:layout_width="wrap_content"??
  18. ??????????????android:layout_height="wrap_content"> ??
  19. ????????????</TabWidget> ??
  20. ????????????
  21. ?????????????<FrameLayout?android:id="@android:id/tabcontent"??
  22. ??????????????????android:layout_width="wrap_content"??
  23. ??????????????????android:layout_height="wrap_content"> ??
  24. ????????????????????<TextView?android:id="@+id/view1"??
  25. ????????????????????????android:layout_width="fill_parent"??
  26. ????????????????????????android:layout_height="fill_parent"/> ??
  27. ????????????????????<TextView?android:id="@+id/view2"??
  28. ????????????????????????android:layout_width="fill_parent"??
  29. ????????????????????????android:layout_height="fill_parent"/> ??
  30. ????????????????????<TextView?android:id="@+id/view3"??
  31. ????????????????????????android:layout_width="fill_parent"??
  32. ????????????????????????android:layout_height="fill_parent"/> ??
  33. ?????????????</FrameLayout> ??
  34. ????????????
  35. ?????????</LinearLayout> ??
  36. ????</TabHost> ??
  37. </LinearLayout> ??
  38. ??
  39. java代码: ??
  40. protected?void?onCreate(Bundle?savedInstanceState)?{ ??
  41. ????????super.onCreate(savedInstanceState); ??
  42. ????????setContentView(R.layout.hometabs); ??
  43. ???????????
  44. ????????TabHost?tabHost?=?(TabHost)?findViewById(R.id.tabhost); ??
  45. ????????tabHost.setup(); ??
  46. ????????TabWidget?tabWidget?=?tabHost.getTabWidget(); ??
  47. ???????????
  48. ????????tabHost.addTab(tabHost.newTabSpec("tab1") ??
  49. ????????????????.setIndicator("tab1",?getResources().getDrawable(R.drawable.mumule)) ??
  50. ????????????????.setContent(R.id.view1)); ??
  51. ???????????
  52. ????????tabHost.addTab(tabHost.newTabSpec("tab3") ??
  53. ????????????????.setIndicator("tab3") ??
  54. ????????????????.setContent(R.id.view3)); ??
  55. ???????????
  56. ????????tabHost.addTab(tabHost.newTabSpec("tab2") ??
  57. ????????????????.setIndicator("tab2") ??
  58. ????????????????.setContent(R.id.view2)); ??
  59. ???????????
  60. ????????final?int?tabs?=?tabWidget.getChildCount(); ??
  61. ????????Log.i(TAG,?"***tabWidget.getChildCount()?:?"?+?tabs); ??
  62. ???????????
  63. ????????final?int?tabWidth?=?90; ??
  64. ????????final?int?tabHeight?=?45; ??
  65. ???????????
  66. ????????for?(int?i?=?0;?i?<?tabs;?i++)?{ ??
  67. ??????????
  68. ????????} ??
  69. ????}??

热点排行