Android 3.1 Dialog не подходящего размера - PullRequest
2 голосов
/ 06 июня 2011

Я создаю пользовательское диалоговое окно в моем приложении, и оно прекрасно выглядит в редакторе макетов, но не подходит по размеру для устройства.Вот макет для диалога:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="@drawable/dialog_border"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/image"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerHorizontal="true"
        android:padding="10dp"
        android:src="@drawable/wifi" />
    <TextView
        android:layout_height="wrap_content"
        android:id="@+id/heading"
        android:layout_below="@+id/image"
        android:layout_width="wrap_content"
        android:layout_margin="10dp"
        android:layout_alignLeft="@+id/cancel_button"
        android:layout_alignRight="@+id/continue_button"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/lost_connection"
        android:layout_centerHorizontal="true" />
    <TextView
        android:layout_height="wrap_content"
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_below="@+id/heading"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_centerHorizontal="true"
        android:layout_alignLeft="@+id/cancel_button"
        android:layout_alignRight="@+id/continue_button"
        android:gravity="center"
        android:layout_margin="10dp"
        android:text="@string/try_again" />
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@+id/cancel_button"
        android:layout_below="@+id/description"
        android:layout_centerHorizontal="true"
        android:id="@+id/dismiss_button"
        android:text="@string/dismiss" />
</RelativeLayout>

Вот как это выглядит в редакторе раскладок: Layout Editor

Но это то, как это выглядит на устройстве: Device

У него есть та странная часть дополнительного пространства сверху и справа, и кнопка сжимается вертикально.

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Эта пустая область является заголовком диалога. Его можно отключить при создании DialogFragment как:

DialogFragment df = new MyDialogFragment();
df.setStyle(DialogFragment.STYLE_NO_TITLE, 0);
df.show(ft, "dialog");

Где 0 в стиле набора позволяет платформе выбрать подходящий стиль, а "dialog" - это любой тег, который вы хотите установить для фрагмента диалога.

1 голос
/ 23 июля 2011

Я думаю, что дополнительное странное место вверху - это место для заголовка диалога. Как я вижу на скриншотах, вы использовали диалоговое окно и надули в него собственное представление?

Полагаю, стоит попытаться скрыть заголовок диалога с помощью yourDialog.getWindow (). RequestFeature (Window.FEATURE_NO_TITLE);

...