4

ユーザーがコメントを送信できるようにするために、縦に積み上げられた 2 つのビューがあります。入力されたコメントを表示するための ListView と、ユーザーがコメントを追加できるようにするための LinearLayout フッター (基本的には EditText とボタン)。

フッターは画面の下部に固定する必要があり、ListView はその上に配置する必要があります。コメントを追加するときに Android 用の facebook で表示されるものと似ています。

ただし、ListView が最初に完全なスペースを占有することは望ましくありません。行を表示するために必要なスペースのみを占有し、ユーザーがコメントを追加すると残りのスペースに拡大できるようにする必要があります。フッターレイアウトの上。

ここで提案されているように、私は LinearLayout を試しましたAndroid: How can you align a button at the bottom and listview above?

ただし、これにより、ListView がフッターの上のすべてのスペースを占めることになります (コメントが 2 つしかない場合)。そのため、主に空で奇妙に見えます。

android:layout_alignParentBottom="true"フッターが.....を使用して固定されている RelativeLayout の親を試しました。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:fillViewportそれを行う 1 つの方法は、XML で属性を使用することだと思います。Romain Guy によるこのブログ投稿を参照してください: http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/

于 2012-10-13T14:12:20.123 に答える