我有一个出现在两个按钮后面的ListView。我希望ListView填充按钮下方的区域。我已尝试过此链接中的解决方案: Android Layout with ListView and Buttons和Listview with button below not working properly。但是,它不起作用。你能告诉我如何将ListView保持在按钮下面吗?
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
>
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_below="@id/layoutButtons"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:weightSum=".50" />
<LinearLayout
android:id="@+id/layoutButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" >
<Button
android:id="@+id/btnLogout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".70"
android:text="left" />
<Button
android:id="@+id/btnMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".30"
android:text="right" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
尝试以下方法:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<LinearLayout
android:id="@+id/layoutButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btnLogout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".70"
android:text="left" />
<Button
android:id="@+id/btnMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".30"
android:text="right" />
</LinearLayout>
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
希望这有帮助。
答案 1 :(得分:1)
您可以在列表视图的标题中添加按钮:
使用按钮创建布局 的 listview_header.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" >
<Button
android:id="@+id/btnLogout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".70"
android:text="left" />
<Button
android:id="@+id/btnMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".30"
android:text="right" />
</LinearLayout>
声明观点:
private ListView listView;
private ViewGroup mListHeaderView;
onCreateView()
mListHeaderView = (ViewGroup)inflater.inflate(R.layout.listview_header,
listView, false);
onActivityCreated()
listView = this.getListView();
listViewTickets.addHeaderView(mListHeaderView,null,false);
答案 2 :(得分:1)
修改了Leoa的回答:
<LinearLayout
android:id="@+id/layoutButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" >
<Button
android:id="@+id/btnLogout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".70"
android:text="left" />
<Button
android:id="@+id/btnMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".30"
android:text="right" />
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/layoutButtons"
android:weightSum=".50" />
删除了
android:layout_alignParentTop="true"
从ListView 并将ListView的id更改为@android:id / list。 ListView也必须放在LinearLayout下面的按钮,否则你将无法在ListView中使用android:layout_below。