要允许用户提交评论,我有2个视图,垂直堆叠。 ListView用于显示输入的注释和LinearLayout页脚,允许用户添加注释(基本上是EditText和按钮)。
页脚必须固定在屏幕的底部,ListView必须位于屏幕的上方。它与您在Facebook上为Android添加评论时的内容类似。
然而我不希望ListView最初占用整个空间 - 我希望它只占用显示其行所需的空间,但能够成长在用户添加评论时留下剩余的空间 - 同时始终保持在页脚布局之上。
我按照Android: How can you align a button at the bottom and listview above?
的建议尝试了一个LinearLayout但是,这会导致ListView占用页脚上方的所有空间 - 当只有几条注释时 - 所以它主要是空的并且看起来很奇怪。
我尝试了一个RelativeLayout父级,其中页脚使用android:layout_alignParentBottom="true"
锚定.....使用android:layout_above="@id/footerLayout"
将ListView定位在页脚上方会强制执行与上面相同的操作(ListView占用所有剩余的内容)删除它允许ListView“增长”但如果它变得太大,它会与页脚重叠。
干杯。
答案 0 :(得分:5)
我想这个解决方法会起作用!
<LinearLayout
layout_width="MATCH_PARENT"
layout_height="MATCH_PARENT"
orientation="vertical">
<LinearLayout
layout_width="MATCH_PARENT"
layout_height="0"
android:weight="1"
orientation="vertical">
<YOURLIST
layout_width="MATCH_PARENT"
layout_height="wrap_content"
/>
</LinearLayout>
<YOURVIEW
android:layout_width="MATCH_PARENT"
android:layout_height="WRAP_CONTENT"
android:weight="0"/>
</LinearLayout>
答案 1 :(得分:2)
我想一种方法是使用XML中的android:fillViewport
属性。请参阅Romain Guy的这篇博客文章:http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/