Android 在滚动视图/列表视图下布局视图

Android 在滚动视图/列表视图下布局视图,android,layout,view,scroll,height,Android,Layout,View,Scroll,Height,我的问题有点具体,我在一个对话框中的按钮上方有一个项目列表视图。我希望我的ListView永远不要大于280dip,但始终在ListView下方有按钮,无论此ListView有多大。我担心的是,当对话框切换到横向模式时,按钮会消失,因为上面的ListView将其推出视图,我已将其设置为具有android:layout\u height=“280dip”。很明显,这意味着ListView将始终保持不变,但是否有办法使ListView可以更改其大小,以便无论屏幕大小/尺寸如何,它都可以始终适合其下方

我的问题有点具体,我在一个对话框中的按钮上方有一个项目列表视图。我希望我的ListView永远不要大于280dip,但始终在ListView下方有按钮,无论此ListView有多大。我担心的是,当对话框切换到横向模式时,按钮会消失,因为上面的ListView将其推出视图,我已将其设置为具有
android:layout\u height=“280dip”
。很明显,这意味着ListView将始终保持不变,但是否有办法使ListView可以更改其大小,以便无论屏幕大小/尺寸如何,它都可以始终适合其下方的按钮?我不想在对话框中填充高度的父对象,因为我不想在纵向模式下将对话框一直拉伸。我确信有一个简单的解决方案,但我不确定如何用更一般的方式来表达它。

如果您希望视图占据布局的其余部分,您应该为视图设置权重

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

android:layout\u weight=“1”


android:layout\u height=“0dp”

如果希望视图占据版面的其余部分,则应设置视图的权重

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

android:layout\u weight=“1”


android:layout\u height=“0dp”

如果您希望按钮始终位于列表视图的正下方,并在屏幕大小不同的情况下保持其可见,只需创建一个包含按钮的新布局,并在java代码中初始化该布局即可。然后执行
listView1.addFooterView(layoutView)
,带有按钮的布局将附加到listview的底部。可以帮助您进一步将页脚视图设置为listview

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

如果希望按钮始终位于listview的正下方,并在屏幕大小不同的情况下保持其可见,只需创建一个包含按钮的新布局,并在java代码中初始化该布局。然后执行
listView1.addFooterView(layoutView)
,带有按钮的布局将附加到listview的底部。可以帮助您进一步将页脚视图设置为listview

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