Android基础之TabHost
来源:互联网 发布:剑三儒风盾太脸型数据 编辑:程序博客网 时间:2024/06/13 10:57
TabHost在日常中的使用很常用,很多市面上的app都或多或少的使用到了tabhost 比如新浪微博客户端,比如最新版的微信5.2,很明显的使用了tabhost
TabHost的使用很简单,按照以下几个步骤,就可以很轻松的做出一个页签效果
1.写一个布局文件 需要有tabhost节点,tabwidget节点 和 显示内容的fragment节点,具体布置如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#33000000" > </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" > </FrameLayout> </LinearLayout> </TabHost></RelativeLayout>
需要强调的是,TabHost TabWidget Fragment 三个节点的id必须是给定值,不可以随便自定义
2.在java代码中,写一个类继承TabActivity,然后根据xml中的id找到tabhost对象
mTabHost = (TabHost) findViewById(android.R.id.tabhost);然后根据tabhost对象的几个方法,就可以设置tabhost
public class MainActivity extends TabActivity {private TabHost mTabHost;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);initTabHost();}private void initTabHost() {mTabHost = (TabHost) findViewById(android.R.id.tabhost);addTabSpec("conversation", "聊天", R.drawable.tab_conversation,new Intent(this, ConversationUI.class));addTabSpec("fodler", "发现", R.drawable.tab_folder, new Intent(this,FolderUI.class));addTabSpec("group", "通讯录", R.drawable.tab_group, new Intent(this,GroupUI.class));}private void addTabSpec(String tag, String label, int icon, Intent intent) {//创建tabspecTabSpec tabSpec = mTabHost.newTabSpec(tag);//创建tab标签和图标tabSpec.setIndicator(label, getResources().getDrawable(icon));//设置tab页签指定的内容tabSpec.setContent(intent);mTabHost.addTab(tabSpec);}}
效果图如下:
以上步骤可以做出一个最简单的tabhost效果的界面出来,还有很多地方可以自定义,做出效果更好更炫的界面出来,这里就不作介绍了。
douban.com/note/362236985/
douban.com/note/362237008/
douban.com/note/362237029/
douban.com/note/362237050/
0 0
- Android基础之TabHost
- Android基础:十八般武器之TabHost
- Android基础-TabHost控件
- android TabHost基础讲解
- Android开发之TabHost
- Android之TabHost
- android之TabHost
- android 之 TabHost
- android控件之TabHost
- Android之TabHost布局
- Android控件之TabHost
- Android之TabHost
- Android控件之TabHost
- android学习之-TabHost
- Android之TabHost
- Android之TabHost
- Android 之TabHost
- Android之TabHost
- unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放技能
- VC中BSTR、Char*、CString和CComBSTR类型的转换
- css hack
- Ubuntu10.04下安装ffmpeg
- Tomcat7.x时区问题导致时间获取不正确
- Android基础之TabHost
- 堆排序
- Atl ActiveX控件事件不执行
- repeater内绑定事件
- Android开源工具整理
- visual studio 2012 error: LINK1318
- 淘宝开源框架tbnet之connection
- 将SharePoint 2010的站点模板(site template)升级到SharePoint 2013
- js控制网站中图片漂浮