android:minEms 在对话主题活动中被忽略
我有一个相对简单的布局,其中包含 EditText
。活动本身使用对话框主题。对话框最终很小,编辑文本甚至不足以显示初始字符串。
我知道微小的对话框是一个常见问题(IIRC Dianne 提到对话框默认使用wrapp_content 作为父窗口),典型的解决方法是在 onCreate 中强制对话框达到一定的大小。我更喜欢在布局中解决这个问题。
我们的想法是给 EditText 一个 30 的 android:minEms ,以给它一个合理的大小(在平板电脑上不会太大得离谱),但这似乎被忽略了 - EditText (和对话框)是还是很小。
旁注 - 对话框的高度也太小 - 底部的按钮是应有尺寸的一半。
布局,供参考:
<?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>
I have a relatively simple layout that contains an EditText
. The activity itself uses the dialog theme. The dialog ends up being tiny, the edit text isn't even big enough to show the initial string.
I know that tiny dialogs are a common problem (IIRC Dianne mentioned that dialogs by default use wrap_content for the parent window), and a typical workaround is to force the dialog to be a certain size in onCreate
. I prefer to fix this issue in the layout.
The idea was to give the EditText an android:minEms
of 30 to give it a reasonable size (without being ridiculously huge on a tablet), but that seems to be ignored - the EditText (and dialog) is still tiny.
Side note - the dialog's height is too small too - the button at the bottom is half the size it should be.
Layout, for reference:
<?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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将RelativeLayout 更改为
android:layout_width="wrap_content"
。Change your RelativeLayout to
android:layout_width="wrap_content"
.