4

为了允许用户提交评论,我有 2 个视图,垂直堆叠。一个 ListView 用于显示输入的评论和一个 LinearLayout 页脚,用于允许用户添加评论(基本上是一个 EditText 和一个按钮)。

页脚必须锚定到屏幕的底部,并且 ListView 必须位于其上方。它类似于您在添加评论时在 Android 版 Facebook 上看到的内容。

但是我不希望 ListView 最初占用全部空间- 我希望它只占用显示其行所需的空间,但能够在用户添加评论时增长到剩余空间 - 同时始终保持页脚布局上方。

我已经尝试过这里建议的 LinearLayout Android: How can you align a button at the bottom and listview above?

但是,这会导致 ListView 占用页脚上方的所有空间 - 当只有几个评论时 - 所以它主要是空的并且看起来很奇怪。

我尝试了一个 RelativeLayout 父级,其中页脚使用android:layout_alignParentBottom="true"...定位在页脚上方的 ListView 使用android:layout_above="@id/footerLayout"强制与上述相同的行为(ListView 占用所有剩余空间)...删除它允许 ListView '增长' 但如果它变得太大,它会与页脚重叠。

干杯。

4

2 回答 2

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>
于 2012-10-13T14:47:41.527 回答
2

我想一种方法是使用android:fillViewportXML 中的属性。请参阅 Romain Guy 的这篇博文:http ://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/

于 2012-10-13T14:12:20.123 回答