TabHost / TabWidget视图不以父级为中心

时间:2011-07-08 14:45:14

标签: java android xml

即使我将视图layout_gravity设置为center_horizo​​ntal,也有一个不会使视图居中的TabHost。这是我的XML,到目前为止,我已将该按钮添加到tab1布局中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TabHost android:id="@+id/tabhost" android:layout_width="fill_parent"   android:layout_height="fill_parent">
    <LinearLayout android:layout_width="fill_parent" android:id="@+id/linearLayout1" android:layout_height="fill_parent" android:orientation="vertical">
        <TabWidget android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@android:id/tabs"></TabWidget>
        <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/tabcontent">
            <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab1">
                <Button android:layout_width="wrap_content" android:id="@+id/button1" android:layout_gravity="center_horizontal" android:text="Button" android:layout_height="wrap_content"></Button>
            </LinearLayout>
            <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab2"></LinearLayout>
            <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab3"></LinearLayout>
        </FrameLayout>
    </LinearLayout>
</TabHost>

2 个答案:

答案 0 :(得分:1)

尝试在按钮的父级上设置android:gravity属性。

像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
    <TabHost android:id="@+id/tabhost" android:layout_width="fill_parent"   android:layout_height="fill_parent">
    <LinearLayout android:layout_width="fill_parent" android:id="@+id/linearLayout1" android:layout_height="fill_parent" android:orientation="vertical">
    <TabWidget android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@android:id/tabs"></TabWidget>
    <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/tabcontent">
        <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab1" android:gravity="center_horizontal">
            <Button android:layout_width="wrap_content" android:id="@+id/button1" android:text="Button" android:layout_height="wrap_content"></Button>
        </LinearLayout>
        <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab2"></LinearLayout>
        <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/tab3"></LinearLayout>
    </FrameLayout>
    </LinearLayout>
 </TabHost></LinearLayout>

答案 1 :(得分:1)

你必须在父母身上设置gravity