如何在listview下面放置固定按钮?

时间:2012-09-13 22:37:37

标签: android android-layout

有没有办法让一个按钮直接位于列表视图下方,这样随着列表视图的增长,按钮向下移动但按钮永远不会被推离屏幕。 IE浏览器,一旦列表视图超出了屏幕,按钮仍然可见,并且列表视图是可滚动的。

我设法让按钮始终位于屏幕的底部,但我希望它在listview小于屏幕时直接位于列表视图下方。

我已尝试使用相对和线性布局的各种排列并使用权重属性,看起来它们应该起作用的事情根本没有,所以在发布之前检查任何答案可能是值得的。

澄清: 用不同的方式表达它:我想要一个按钮坐在列表视图下方,随着它的增长向下移动,但我不希望按钮被推到屏幕外

2 个答案:

答案 0 :(得分:2)

previous post完全符合您的要求。它的作用基本上是它始终将按钮保持在列表的底部。但是当列表长出屏幕区域时,其高度受weight参数的限制 这样,列表的下边缘就在按钮的LinearLayout上方,您可以获得与之相同的行为。

答案 1 :(得分:1)

如果您想在列表项的末尾显示此按钮。然后使用此代码

final Button btnAddMore = new Button(this);
btnAddMore.setText(R.string.art_btn_moreIssues);
exArticlesList = (ExpandableListView) this.findViewById(R.id.art_list_exlist);
exArticlesList.addFooterView(btnAddMore);

或如果您在布局结束时显示按钮,请使用此代码。

<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:id="@+id/listView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/btn_New" >
</ListView>

<Button
    android:id="@+id/btn_New"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginBottom="20dp"
    android:text="@string/New"
    android:width="170dp"
    android:layout_alignParentBottom="true" />
  </RelativeLayout>