10

次のようなレイアウトのカスタム ダイアログがあります。

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/mylayout">
   <LinearLayout
       android:id="@+id/title"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical">
       <TextView ... />
       <TextView .../>
    </LinearLayout>
    <ScrollView
       android:id="@+id/scrollView"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/title">
       <LinearLayout ...>
           <TextView ...
              android:text="lots of text........" />
           <TextView .../>
       </LinearLayout>
     </ScrollView
  <RelativeLayout ...
     android:layout_below="@+id/scrollView">
     <Button ...>
     <Button ...>
  </RelativeLayout>
</RelativeLayout>

私の問題は、スクロールビューにテキストが多すぎると、下のボタンがダイアログから押し出されることです。android:layout_alignParentBottom="true" を使用してボタンを含む RelativeLayout を下部に固定することでこれを防ぐことができましたが、スクロールビューのテキストが少なくなると、ダイアログ全体が画面の下部に引き伸ばされます。私はそれをしたくありません。

次のようなレイアウトを取得するにはどうすればよいですか。

[SOME TEXT]
[Scrollable region]
[Buttons]
4

2 に答える 2

9

ボタンを別のレイアウトに配置し、ボタンのレイアウトに重みを付けるLinearLayout代わりに試してください。RelativeLayout

LinearLayout - top level start, android:layout_weight="0"
LinearLayout with TextViews embeded, android:layout_weight="1"
LinearLayout with ScrollView embeded, android:layout_weight="1"
LinearLayout with Buttons embeded, android:layout_weight="1"
LinearLayout - top level finish, android:layout_weight="0"
于 2012-12-04T20:09:43.510 に答える