我刚开始进行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>
答案 0 :(得分:0)
您的 EditText 宽度没有变化,因为您将 layout_weight = 1 赋予EditText,这意味着EditText将占用 Horizontal LinearLayout的完整剩余宽度在其中绘制。
如果您将在 TextView和EditText 中使用.5 layout_weight。它们都占整个宽度的一半。它是一个水平的LinearLayout,因此权重会影响视图的宽度。所以Edittext的宽度是无用的。在Vertcal LinearLayout的情况下,View的高度将受layout_weight的影响。
<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"
android:layout_weight=".5" />
<EditText
android:id="@+id/username"
android:layout_width="5dp"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:ems="50"
android:inputType="text" >
</EditText>
</LinearLayout>
Ems: - 是一个印刷术语。有关ems的更多信息,请查看this。