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

相关文章

来自专栏Android开发指南

1.TabActivity、视图树、动画

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

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

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

912
来自专栏Android机器圈

Android数据绑定技术二,企业级开发

PS:上一篇文章写了Databinding的简单使用,写了一个绑定textview的示例,和绑定的一些用法,估计有的人会说,之前的写的好好的,为什么要数据绑定这...

3239
来自专栏Android干货

Android项目实战(四十七):轮播图效果Viewpager

1249
来自专栏项勇

[Android学习]之解析练习RadioButton+Fragment+viewpager布局架构

1314
来自专栏向治洪

HTML中的javascript交互

在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要...

1805
来自专栏androidBlog

自定义 Behavior - 仿新浪微博发现页的实现

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

361
来自专栏Android Note

Android上的自定义字体 - 扩展TextView

1023
来自专栏京东技术

【详解】Android Jetpack 新组件之Navigation的用法和源码结构分析

5年以上开发经验,对架构设计以及性能调优有着深刻认知,负责京东商城商品详情的开发,热衷于学习和创新。

864
来自专栏jianhuicode

学问Chat UI(1)

前言 由于项目需要,最近开始借鉴学习下开源的Android即时通信聊天UI框架,为此结合市面上加上本项目需求列了ChatUI要实现的基本功能与扩展功能。 ? 融...

1939

扫描关注云+社区