Android TabWidget底部显示

时间:2022-05-03
本文章向大家介绍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下测试通过。