android TabHost小结
2015-06-09 11:34
447 查看
转载:
TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout。TabWidget就是每个tab的标签,FrameLayout则是tab内容。
1、如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost
2、TabWidget必须设置android:id为@android:id/tabs
3、FrameLayout需要设置android:id为@android:id/tabcontent
4、参考这儿:<a href="http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.%3Ca%20href=" http:="" www.2cto.com="" kf="" web="" asp="" "="" target="_blank" class="keylink" style="color: rgb(51, 51, 51); text-decoration: none;">aspx">http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.aspx
先自定义一个xml文件:
Java代码
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:paddingBottom="53px"/>
<TabWidget
android:id="@android:id/tabs"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="50px"
android:visibility="gone"
android:layout_weight="0.0"/>
<RadioGroup
android:gravity="center_vertical"
android:orientation="horizontal"
android:id="@+id/main_radio"
android:background="@drawable/radiogroup_background"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_gravity="bottom">
<RadioButton
android:id="@+id/main_index_button"
android:layout_marginTop="1.0dip"
android:layout_marginRight="5dip"
android:text="@string/main_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
<RadioButton
android:id="@+id/main_running_button"
android:layout_marginTop="1.0dip"
android:layout_marginRight="5dip"
android:text="@string/run_manager_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
<RadioButton
android:id="@+id/main_uninstall_button"
android:layout_marginTop="1.0dip"
android:text="@string/uninstall_manager_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
</RadioGroup>
</LinearLayout>
</TabHost>
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
接下来就是在activity中初始化并添加tabhost:
Java代码
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.addTab(Constant.tabHost.newTabSpec("Main")
.setIndicator(getString(R.string.main_name),null)
.setContent(new Intent(this, Main.class)));
tabHost.addTab(Constant.tabHost.newTabSpec("RunManager")
.setIndicator(getString(R.string.run_manager_name),null)
.setContent(new Intent(this, RunManager.class)));
tabHost.addTab(Constant.tabHost.newTabSpec("UninstallManager")
.setIndicator(getString(R.string.uninstall_manager_name),null)
.setContent(new Intent(this, UninstallManager.class)));
初始化每个RadioButton并为其添加setOnCheck
TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout。TabWidget就是每个tab的标签,FrameLayout则是tab内容。
1、如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost
2、TabWidget必须设置android:id为@android:id/tabs
3、FrameLayout需要设置android:id为@android:id/tabcontent
4、参考这儿:<a href="http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.%3Ca%20href=" http:="" www.2cto.com="" kf="" web="" asp="" "="" target="_blank" class="keylink" style="color: rgb(51, 51, 51); text-decoration: none;">aspx">http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.aspx
先自定义一个xml文件:
Java代码
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:paddingBottom="53px"/>
<TabWidget
android:id="@android:id/tabs"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="50px"
android:visibility="gone"
android:layout_weight="0.0"/>
<RadioGroup
android:gravity="center_vertical"
android:orientation="horizontal"
android:id="@+id/main_radio"
android:background="@drawable/radiogroup_background"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_gravity="bottom">
<RadioButton
android:id="@+id/main_index_button"
android:layout_marginTop="1.0dip"
android:layout_marginRight="5dip"
android:text="@string/main_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
<RadioButton
android:id="@+id/main_running_button"
android:layout_marginTop="1.0dip"
android:layout_marginRight="5dip"
android:text="@string/run_manager_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
<RadioButton
android:id="@+id/main_uninstall_button"
android:layout_marginTop="1.0dip"
android:text="@string/uninstall_manager_name"
android:drawableTop="@drawable/unistall"
style="@style/main_tab_bottom"
android:background="@drawable/radio_bg"/>
</RadioGroup>
</LinearLayout>
</TabHost>
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
接下来就是在activity中初始化并添加tabhost:
Java代码
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.addTab(Constant.tabHost.newTabSpec("Main")
.setIndicator(getString(R.string.main_name),null)
.setContent(new Intent(this, Main.class)));
tabHost.addTab(Constant.tabHost.newTabSpec("RunManager")
.setIndicator(getString(R.string.run_manager_name),null)
.setContent(new Intent(this, RunManager.class)));
tabHost.addTab(Constant.tabHost.newTabSpec("UninstallManager")
.setIndicator(getString(R.string.uninstall_manager_name),null)
.setContent(new Intent(this, UninstallManager.class)));
初始化每个RadioButton并为其添加setOnCheck
相关文章推荐
- Android系统启动过程
- 一个方便的图片加载框架——ImageViewEx
- Android实现循环平移动画示例
- Android之官方导航栏之Toolbar(Toolbar+DrawerLayout+ViewPager+PagerSlidingTabStrip)
- android中ImageView设置选中与不选中颜色
- Android数据存储
- Android 开发小仓库
- android自定义属性三部曲
- Android中创建快捷方式及删除快捷方式实现方法
- Listview异步加载图片之优化篇(有图有码有解释)
- android 外部单独编一个模块MAKEFILE示例
- android数据存储读取1:SharedPreferences(对比IOS)
- Android中的全局变量与局部变量使用小结
- gradle 编译android APK
- Android:自定义输入法(输入密码时防止第三方窃取)
- android数据存储-文件操作
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
- Android中Activity启动默认不显示输入法解决方法
- android中引入第三方jar包方法( java.lang.NoClassDefFoundError: com.sina.weibo.sdk.auth.AuthInfo)解决办法
- ListView的相关研究(二)