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

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

一、TabHost是什么

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

二、TabHost的常用组件

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

TabSpec:代表了选项卡界面

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

addTab(tabSpec):添加选项卡

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

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

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

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

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

2、继承TabActivity

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

3、获取组件

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

4、创建添加选项卡

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

Activity的整体代码如下:

5、怎能不来看看效果

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

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

方法一、 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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,676评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,761评论 0 17
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,961评论 22 665
  • 春夏交替花摇曳, 山花烂漫好时节。 闲人悠步田坡间, 任由采摘花枝叶。
    深知绿叶阅读 237评论 0 2
  • 昨天和同学夜跑,聊起她对我的印象,她说她觉得我是一个很自信的人,本来她以为这是她自己的感觉,她跟其他人聊起我来,大...
    木因心阅读 176评论 0 0