android tab的使用

Android中TabActivity使用范例

首先要定义一个继承TabActivity的类,这里我们定义MainActivity,并且使其作为应用程序的入口。其代码为

01.package com.myandroid.tabtest; 02. 03.import android.app.TabActivity; 04.import android.content.Intent; 05.import android.os.Bundle; 06.import android.widget.TabHost; 07.import android.widget.TabHost.TabSpec; 08. 09.public class MainActivity extends TabActivity { 10. private TabHost m_tabHost; 11. /** Called when the activity is first created. */ 12. @Override 13. public void onCreate(Bundle savedInstanceState) { 14. super.onCreate(savedInstanceState); 15. setContentView(R.layout.tabs); 16. 17. //getTabHost返回的TabHost用于装载tabs 18. m_tabHost = getTabHost(); 19. 20. //add tabs,这里用于添加具体的Tabs,并用Tab触发相应的Activity 21. addOneTab(); 22. addTwoTab(); 23. addThreeTab(); 24. addFourTab(); 25. } 26. 27. public void addOneTab(){ 28. Intent intent = new Intent(); 29. intent.setClass(MainActivity.this, OneActivity.class); 30. 31. TabSpec spec = m_tabHost.newTabSpec("One"); 32. spec.setIndicator(getString(R.string.one), null); 33. spec.setContent(intent); 34. m_tabHost.addTab(spec); 35. } 36. 37. public void addTwoTab(){ 38. Intent intent = new Intent(); 39. intent.setClass(MainActivity.this, TwoActivity.class); 40. 41. TabSpec spec = m_tabHost.newTabSpec("Two"); 42. spec.setIndicator(getString(R.string.two), null); 43. spec.setContent(intent); 44. m_tabHost.addTab(spec); 45. } 46. public void addThreeTab(){ 47. Intent intent = new Intent(); 48. intent.setClass(MainActivity.this, ThreeActivity.class); 49. 50. TabSpec spec = m_tabHost.newTabSpec("Three"); 51. spec.setIndicator(getString(R.string.three), null); 52. spec.setContent(intent); 53. m_tabHost.addTab(spec); 54. } 55. public void addFourTab(){ 56. Intent intent = new Intent(); 57. intent.setClass(MainActivity.this, FourActivity.class); 58. 59. TabSpec spec = m_tabHost.newTabSpec("Four"); 60. spec.setIndicator(getString(R.string.four), null); 61. spec.setContent(intent); 62. m_tabHost.addTab(spec); 63. } 64.}


可以看到在MainActivity中,我们使用getTabHost()返回一个TabHost,而TabHost正是用来添加Tabs的。这里我们添加了4个Tabs,使用4个函数完成:addOneTab(),addTwoTab(),addThreeTab(),addFourTab().在这4个函数中我们使用TabSpec来描述每个的Tab,并且设置Intent,完成点击该Tab时跳转到相应的Activity的功能。

当然,这个应用还有一个关键点,就是这里的布局tabs.xml.其代码为:

01.<?xml version="1.0" encoding="utf-8"?> 02.<TabHost 03. xmlns:android="http://schemas.android.com/apk/res/android" 04. android:id="@android:id/tabhost" 05. android:layout_width="fill_parent" 06. android:layout_height="fill_parent"> 07. <LinearLayout 08. android:orientation="vertical" 09. android:layout_width="fill_parent" 10. android:layout_height="fill_parent"> 11. 12. <TabWidget android:id="@android:id/tabs" 13. android:layout_width="fill_parent" 14. android:layout_height="wrap_content" 15. android:paddingLeft="1dip" 16. android:paddingRight="1dip" 17. android:paddingTop="4dip" 18. /> 19. 20. <FrameLayout android:id="@android:id/tabcontent" 21. android:layout_width="fill_parent" 22. android:layout_height="0dip" 23. android:layout_weight="1" 24. /> 25. </LinearLayout> 26.</TabHost>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值