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 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

两分钟掌握FrameLayout帧布局

前面学习了线性布局、相对布局、表格布局,那么本期来学习第四种布局——FrameLayout帧布局。 一、认识FrameLayout 帧布局是An...

1979
来自专栏非著名程序员

浅谈Andorid开发中的MVP模式

? 导语:最近公众号后台经常收到一些消息,说能不能讲一些开发模式,经过思考后,我决定讲一讲MVP模式。希望对大家能够有所帮助。并写了一个简单的小demo。 ...

1936
来自专栏一个会写诗的程序员的博客

《Kotlin 程序设计》第十四章 使用Kotlin开发Android程序

https://github.com/EasyKotlin/Kotlin-for-Android-Developers

992
来自专栏一“技”之长

iOS中支持HTML文本的标签控件——MDHTMLLabel

        在iOS开发中对HTML的处理很多时候除了使用WebView外,还需要原生的控件对其进行渲染,例如将HTML字符串渲染为图文混排的View视图。...

791
来自专栏DannyHoo的专栏

UILabel加载html文本

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

892
来自专栏Android知识点总结

2-VVI-材料设计之CardView

611
来自专栏小巫技术博客

A009-layout资源

本节课继续讲Android中的资源文件-layout资源,一个界面的诞生离不开布局,我们Android开发者的大部分工作都是在搭建UI,一个产品的诞生,首先是由...

833
来自专栏一个会写诗的程序员的博客

Frida JAVA API 文档JavaWeakRef

a boolean specifying whether the current process has the a Java VM loaded, i.e. ...

903
来自专栏学海无涯

Android开发之View动画

Android动画主要分为3种 View动画 帧动画 属性动画 何为View动画? View动画主要是对View对象进行变换所达到的动画效果,如平移、缩放、旋转...

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

iOS导航栏使用总结

1262

扫码关注云+社区