我刚开始Android开发,所以我有两个问题在我的脑海
- 首先,为什么编辑字段的大小不改变它的
width
。 - 第二,这两句话的意思是甚么
android:layout_weight="1.0"
android:ems="50"
当我在布局表单中使用android:layout_weight=
时,它取值为0.1
,为什么?
在球场上,它需要1.0
,为什么?ems
是什么?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/login_header"
android:gravity="center_horizontal"
android:textSize="30dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp" >
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/username"
android:textSize="18dp"/>
<EditText
android:id="@+id/username"
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:ems="50"
android:inputType="text"/ >
</LinearLayout>
<Button
android:id="@+id/login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/login_header"
android:layout_margin="10dp"/>
</LinearLayout>
1条答案
按热度按时间2lpgd9681#
您的EditText宽度没有更改,因为您为EditText给予了layout_weight = 1,这意味着EditText将占用它在其中绘制的Horizontal LinearLayout的全部剩余宽度。
如果您将在TextView和EditText中使用.5 layout_weight。它们都将占用整个宽度的一半。它是水平线性布局,因此权重将影响视图的宽度。因此EditText的宽度是无用的。如果是垂直线性布局,视图的高度将受layout_weight的影响。
Ems:-是一个印刷术语。有关ems的更多信息,请查看this。