在ScrollView / ListView下面布置视图

时间:2011-07-30 05:03:16

标签: android layout view scroll height

我的问题有点具体,我在对话框内的按钮上面有一个ListView项目。我希望我的ListView永远不会超过280dip,但总是有ListView下面的按钮,无论这个ListView有多大。我担心的是当对话框切换到横向模式时,按钮会消失,因为它已被上面的ListView推出视图,而我已设置为android:layout_height="280dip"。显然,这意味着ListView将永远是280dip,但有没有办法使ListView可以改变它的大小,所以它总是适合它下面的按钮,无论屏幕尺寸/尺寸?我不想在对话框中填充高度的父级,因为我不希望对话框在纵向模式下一直伸展。我确信有一个简单的解决方案,但我不确定如何用更通用的方式来表达它。

2 个答案:

答案 0 :(得分:4)

如果您希望视图占用其余布局,则应为视图设置权​​重。

尝试为ListView提供以下设置,看看会发生什么。

android:layout_weight="1"
android:layout_height="0dp"

答案 1 :(得分:2)

如果您希望按钮始终位于列表视图的正下方并且尽管屏幕大小不同,仍然可以看到它,只需创建一个包含按钮的新布局并在Java代码中初始化该布局。然后执行listView1.addFooterView(layoutView),按钮的布局将附加到列表视图的底部。 This可以帮助您进一步设置页面视图的页脚视图。

View footerView = ((LayoutInflater)MyActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_layout, null, false);
listView1.addFooterView(footerView);