Android初级开发(四)——补充6、控件TabHost的使用

哎呀呀,,最近怎么搞?!!感觉学习进度实在太慢了,但是熬夜通宵宝宝实在是做不到啊!!!不知道大神们通宵码代码,第二天是怎么正常上班的?还是说大家都是自由职业者。。。小小的发个牢骚,实际上还是自己不够努力。。。废话不多说,今天简单了解一下TabHost吧。

一、TabHost是什么

TabHost是一个可以在界面中放置多个选项卡的控件,它可实现的效果图如下:

Android初级开发(四)——补充6、控件TabHost的使用_第1张图片

二、TabHost的常用组件

TabWidget:该组件就是TabHost标签页中上部或者下部的按钮,可以点击按钮切换选项卡。

TabSpec:代表了选项卡界面

newTabSpec(String tag) : 创建一个选项卡

addTab(tabSpec):添加选项卡

三、TabHost使用步骤(带例子)

1、定义布局:在XML文件中使用TabHost组件,并在其中定义一个FrameLayout选项卡内容。

在这一步,我是直接通过布局文件的Design功能把TabHost控件拖到布局中的,这样比较简单,当然,还是要仔细看一下布局代码。代码如下:

Android初级开发(四)——补充6、控件TabHost的使用_第2张图片
Android初级开发(四)——补充6、控件TabHost的使用_第3张图片

在布局文件中,TabHost可设置为Android自带的id,即:android:id="@android:id/tabhost",这样做的原因是可以直接在Activity中调用getTabHost()调用TabHost对象。

然后我们可以设置三个Activity:Tab1、Tab2、Tab3,并创建三个对应的布局文件activity_tab1、activity_tab2、activity_tab3。我们将三个布局文件中加入一个TextView写上一句话,用来区分三个布局。这里放上activity_tab1的代码:

Android初级开发(四)——补充6、控件TabHost的使用_第4张图片

2、继承TabActivity

即显示选项卡组件的Activity要继承TabActivity。我的选项卡直接放到了MainActivity中,所以MainActivity要继承TabActivity,如下图:

3、获取组件

通过调用getTabHost()方法,获取TabHost()对象。

4、创建添加选项卡

通过TabSpec创建添加选项卡,具体代码如下:

Android初级开发(四)——补充6、控件TabHost的使用_第5张图片

Activity的整体代码如下:

Android初级开发(四)——补充6、控件TabHost的使用_第6张图片

5、怎能不来看看效果

我隐藏了系统标题(具体做法可在我的博客中查看,其中有一篇文件专门讲了隐藏系统标题的几种方法)。最后效果如下:

Android初级开发(四)——补充6、控件TabHost的使用_第7张图片

注:如果想让选项卡按钮位于底部,可采用如下方法:

方法一、 1、将tabcontent和tabs交换位置

2、设置tabcontent的属性:android:layout_weight= "1"

方法二、1、将tabcontent和tabs交换位置

2、将tabs放到一个relativeLayout中,然后加上如下属性:                             android:layout_alignParentBottom="true"

方法三、1、将tabcontent和tabs交换位置(tabs移动到LinearLayout标签以下)

2、在tabcontent中加入属性:android:layout_gravity = "top"

3、在tabs中加入属性:android:layout_gravity = "bottom"

你可能感兴趣的:(Android初级开发(四)——补充6、控件TabHost的使用)