Android TabWidget底部显示

TabHost控件默认使用LinearLayout包裹TabWidget和FrameLayout,布局文件如下:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
 android:id="@android:id/tabhost"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent" >  
 
 <LinearLayout  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:orientation="vertical" >  
 
 <TabWidget  
 android:id="@android:id/tabs"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content" >  
 </TabWidget>  
 
 <FrameLayout  
 android:id="@android:id/tabcontent"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent" >  
 </FrameLayout>  
 </LinearLayout>  
</TabHost>  

这样TabWidget显示在顶部,如果想把TabWidget放到底部有三种方式。

方式一:将TabHost中默认的LinearLayout换成RelativeLayout,并给TabWidget添加Android:layout_alignParentBottom="true"

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
 android:id="@+id/tabhost"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:layout_alignParentLeft="true"  
 android:layout_alignParentTop="true" >  
 <RelativeLayout  
 android:layout_width="match_parent"  
 android:layout_height="match_parent">  
 
 <TabWidget  
 android:id="@android:id/tabs"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content"   
 android:layout_alignParentBottom="true">  
 </TabWidget>  
 
 <FrameLayout  
 android:id="@android:id/tabcontent"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent" >  
 </FrameLayout>  
 </RelativeLayout>  
</TabHost>  

方式二:1、将LinearLayout中TabWidget和FrameLayout交换位置               2、设置FrameLayout的属性:android:layout_weight="1" android:layout_height="0dp"

<p><TabHost xmlns:android="<a target=_blank href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"  
 android:id="@+id/tabhost"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:layout_alignParentLeft="true"  
 android:layout_alignParentTop="true" ></p><p>   <LinearLayout  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:orientation="vertical" >  
 
 <FrameLayout  
 android:id="@android:id/tabcontent"  
 android:layout_width="match_parent"  
 android:layout_height="0dp"  
 android:layout_weight="1" >  
 </FrameLayout>  
 
 <TabWidget  
 android:id="@android:id/tabs"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content"   
 android:layout_alignParentBottom="true">  
 </TabWidget>  
 </LinearLayout>  
</TabHost></p>  

方式三:1、将TabWidget移动到LinearLayout标签以下               2、在FrameLayout中加入属性:android:layout_gravity="top"               3、在TabWidget中加入属性:android:layout_gravity="bottom"

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
 android:id="@+id/tabhost"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:layout_alignParentLeft="true"  
 android:layout_alignParentTop="true" >  
 
 <LinearLayout  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:orientation="vertical" >  
 
 <FrameLayout  
 android:id="@android:id/tabcontent"  
 android:layout_width="match_parent"  
 android:layout_height="match_parent"  
 android:layout_gravity="top" >  
 </FrameLayout>  
 </LinearLayout>  
 <TabWidget  
 android:id="@android:id/tabs"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content"   
 android:layout_gravity="bottom">  
 </TabWidget>  
</TabHost>  

以上三种方式在Android4.2下测试通过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动开发

TableLayout实现均匀布局(条目横向1:1排列)

像下面的布局效果,我们经常使用LinearLayout实现,其实也可以使用TableLayout去简单的实现

1263
来自专栏菩提树下的杨过

Flash/Flex学习笔记(17):按键捕获

先来看简单的单个按键捕获: package { import flash.display.Sprite; import fl.controls.Label...

2399
来自专栏Golang语言社区

Golang实现的私聊服务

一个简单的golang实现的私聊,由服务器端决定两两匹配 服务器端 chat_server.go package main import ( "f...

3247
来自专栏林冠宏的技术文章

android 如何正确使用 泛型 和 多参数 “偷懒”

我要实现这样一个标题栏 ? 共 4 个选项,采用布局是一个 TextView 对应一个小三角 ImageView,各个选项没被点击时,字体颜色是 黑色,小三角不...

1909
来自专栏雪胖纸的玩蛇日常

Vue+koa2开发一款全栈小程序(8.图书列表页)

在src/components/BookList.vue中给row加上text-primary类

1474
来自专栏猿人谷

Cocoa编程中视图控制器与视图类详解

iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个...

2215
来自专栏流浪猫的golang

golang 多线程爬虫

852
来自专栏hotqin888的专栏

小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

551
来自专栏梧雨北辰的开发录

iOS屏幕旋转及其基本适配方法

前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。的确,视频播放与游戏类型的App经常会遇到这个...

6405
来自专栏狂码一生

利用ajaxFileUpload.js实现多文件异步上传功能

  AjaxFileUpload.js是网络开发者写好的插件放出来供大家使用用,原理都是创建隐藏的表单和iframe然后用JS去提交,获得返回值。在这里我将网络...

51813

扫码关注云+社区