Нижняя панель кнопок Android и режим прокрутки с темой диалога

Я пытаюсь отобразить активность Android с помощью:

  • темы диалога;
  • заголовка, закрепленного в верхней части диалога;
  • панели кнопок, закрепленной внизу диалоговое окно;
  • вид прокрутки посередине.

Написанный мной макет соответствует этим критериям, за исключением того, что диалоговое окно всегда заполняет весь экран (см. вертикальный снимок экрана внизу).

Это мой макет :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content">

    <TextView android:id="@+id/header"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_marginLeft="10dp" android:layout_marginRight="10dp"
    android:layout_marginTop="10dp" android:layout_marginBottom="10dp"
    android:gravity="center_vertical"
        android:textSize="18dip" android:textColor="#ffffff"
        android:text="Sample Layout" />

    <LinearLayout android:id="@+id/controls" android:orientation="horizontal"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    style="@android:style/ButtonBar">
        <Button android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_weight="1" android:text="Yes" />
        <Button android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_weight="1" android:text="No" />
    </LinearLayout>

    <ScrollView android:id="@+id/test" android:layout_below="@id/header"
    android:layout_above="@id/controls"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_marginBottom="5dp" android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp">
        <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:text="Lorem ipsum dolor sit amet, consectetur
        adipiscing elit. Integer dui odio, convallis vitae suscipit eu,
        tincidunt non mi. Vestibulum faucibus pretium purus vel adipiscing.
        Morbi mattis molestie risus vitae vehicula. [...]" />
    </ScrollView>

</RelativeLayout>

Кроме того, действие оформлено в стиле @android: style / Theme.Dialog и android: windowNoTitle .

Я не уверен, что понимаю, почему этот макет расширяется, чтобы заполнить весь экран. Ни одно из представлений не имеет высоты макета, установленной на fill_parent ; родительский макет также не установлен на fill_parent .

Кто-нибудь знает, возможно ли то, что я хочу сделать, и если да, то как это сделать?

Мой текущий макет в горизонтальном режиме

Layout in horizontal mode.

Мой текущий макет в вертикальном режиме

Layout in vertical mode.

5
задан Alpha Hydrae 11 March 2011 в 14:24
поделиться