android: minEms игнорируется в диалогах - PullRequest
3 голосов
/ 07 февраля 2011

У меня относительно простая раскладка, которая содержит EditText. Само упражнение использует тему диалога. Диалог в итоге становится крошечным, текст редактирования даже недостаточно велик, чтобы показать начальную строку.

Я знаю, что крошечные диалоги являются распространенной проблемой (IIRC Дайанна упомянула, что диалоги по умолчанию используют wrap_content для родительского окна), и типичный обходной путь - заставить диалог иметь определенный размер в onCreate. Я предпочитаю исправить эту проблему в макете.

Идея состояла в том, чтобы дать EditText android:minEms из 30, чтобы придать ему разумный размер (без огромного смешного размера на планшете), но это, кажется, игнорируется - EditText (и диалог) все еще крошечный. 1008 *

Примечание: слишком мала высота диалогового окна - кнопка внизу вдвое меньше, чем должна быть.

План, для справки:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:id="@+id/TextView01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/title"
        android:gravity="center"
    />
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
    <ImageButton
        android:id="@+id/file_manager"
        android:src="@drawable/ic_launcher_folder_small"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:onClick="pickFile"
      />
      <EditText android:id="@+id/file"
            android:text="@string/default_file"
            android:inputType="text"
            android:minEms="30"
            android:layout_toLeftOf="@+id/file_manager"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
        />
    </RelativeLayout>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/action"
        android:onClick="performAction"
        android:text="@string/action">
    </Button>
</LinearLayout>

1 Ответ

3 голосов
/ 10 февраля 2011

Измените свой RelativeLayout на android:layout_width="wrap_content".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...