按钮不以线性布局显示

时间:2011-02-02 10:53:38

标签: android android-widget android-layout

大家好 我需要的是按钮必须显示在底部,所以我的代码为

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical"
  android:padding="12dip">

  <ListView
      android:id="@+id/list_multiselectable"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="center_vertical">
  </ListView>
<LinearLayout android:orientation="horizontal"           

     android:background="@android:drawable/bottom_bar"
    android:paddingLeft="4.0dip" android:paddingTop="5.0dip"
    android:paddingRight="4.0dip" android:paddingBottom="1.0dip"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">

    my buttons code here
</LinearLayout>
  </LinearLayout> 

但是当列表中的项目较少时(直到列表视图的滚动条未启用),按钮才可见,但是当列表中的项目更多时,按钮不可见,尽管我将列表项目滚动到最后一行,但是最后一个按钮没有显示。我该怎么解决呢。

谢谢!

3 个答案:

答案 0 :(得分:4)

LinearLayout正在为ListView提供所需的所有空间,因为它会按顺序考虑其子项,而不会考虑后续的那些。

我的建议是使用RelativeLayout。

<RelativeLayout ...>
  <ListView ...
           android:id="@+id/list"
           android:layout_alignParentTop="true"/>
  <LinearLayout ...
           android:layout_below="@id/list"
           android:layout_alignParentBottom="true">
     ...buttons...
  </LinearLayout>
</RelativeLayout>

答案 1 :(得分:2)

我不确定。但您可以尝试设置列表视图的权重。

<ListView
      android:id="@+id/list_multiselectable"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_weight="1"
      android:layout_gravity="center_vertical">
  </ListView>

答案 2 :(得分:1)

您可以设置列表视图的最小高度 例如320 * 480 listview height = 430 按钮的布局高度= 50

相关问题