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——系统开发学习)