0

我在列表视图下方的屏幕底部有一组按钮。但是我无法将它完全放在底部,因为我正在定义位于中间的列表视图(tabcontent)的高度,如果我不预定义tabcontent的高度,它将覆盖按钮,如果我定义它会弄乱按钮位置不同的屏幕分辨率。那么我如何才能真正实现屏幕底部的按钮,而不依赖于中间选项卡的内容呢?下面是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/formLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="0dp">

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true" />

            <View
                android:id="@+id/separator"
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:layout_below="@android:id/tabs" />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="465dip"
                android:layout_above="@+id/btnSend"
                android:layout_below="@+id/separator" >

                <!-- Scrollview for message data -->

                <ScrollView
                    android:id="@+id/formTab"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:scrollbars="vertical" >

                    <LinearLayout
                        android:id="@+id/formLayout"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical" >

                        <View
                            android:layout_width="fill_parent"
                            android:layout_height="5dip" />
                    </LinearLayout>
                </ScrollView>
            </FrameLayout>
        </RelativeLayout>
    </TabHost>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/tabcontent"
        >

        <Button
            android:id="@+id/home"
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"
            android:text="Home"
            android:textColor="#000000" />

        <Button
            android:id="@+id/messages"
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"
            android:text="Messages"
            android:textColor="#000000"/>

        <Button
            android:id="@+id/history"
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"
            android:text="History"
            android:textColor="#000000" />

        <Button
            android:id="@+id/settings"
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"
            android:text="Settings"
            android:textColor="#000000" />

        <Button
            android:id="@+id/support"
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"
            android:text="Support"
            android:textColor="#000000" />
    </LinearLayout>

</LinearLayout>
4

1 回答 1

1

您的带按钮的 LinearLayout 位于另一个 LinearLayout 中。

您所要做的就是将您的根布局更改为RelativeLayout,然后android:layout_alignParentBottom="true"带有按钮的LinearLayout 的参数将起作用。

此外,您应该使根 RelativeLayout 填充父级。

整个布局将如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/formLayout"
    android:layout_width="fill_parent"
    android:layout_height="match_parent" >

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="0dp">

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true" />

        <View
            android:id="@+id/separator"
            android:layout_width="fill_parent"
            android:layout_height="2dip"
            android:layout_below="@android:id/tabs" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="465dip"
            android:layout_above="@+id/btnSend"
            android:layout_below="@+id/separator" >

            <!-- Scrollview for message data -->

            <ScrollView
                android:id="@+id/formTab"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:scrollbars="vertical" >

                <LinearLayout
                    android:id="@+id/formLayout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <View
                        android:layout_width="fill_parent"
                        android:layout_height="5dip" />
                </LinearLayout>
            </ScrollView>
        </FrameLayout>
    </RelativeLayout>
</TabHost>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/tabcontent"
    >

    <Button
        android:id="@+id/home"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_weight="1"
        android:text="Home"
        android:textColor="#000000" />

    <Button
        android:id="@+id/messages"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_weight="1"
        android:text="Messages"
        android:textColor="#000000"/>

    <Button
        android:id="@+id/history"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_weight="1"
        android:text="History"
        android:textColor="#000000" />

    <Button
        android:id="@+id/settings"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_weight="1"
        android:text="Settings"
        android:textColor="#000000" />

    <Button
        android:id="@+id/support"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_weight="1"
        android:text="Support"
        android:textColor="#000000" />
</LinearLayout>

于 2013-11-10T13:15:01.470 回答