我在listview下方的屏幕底部设置了一组按钮。但我无法完全在底部得到它,因为我正在定义listview的高度(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>
答案 0 :(得分:1)
带按钮的LinearLayout位于另一个LinearLayout内。
您所要做的就是将根布局更改为RelativeLayout,然后使用按钮的LinearLayout参数android:layout_alignParentBottom="true"
将起作用。
此外,您应该使根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>