У меня относительно простая раскладка, которая содержит 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>