'what is ems and why the editfield size is same (width)?
I just started android development, so I have two question in my mind
First, why the size of edit field does not change its
width
.Secondly, what is the meaning of these two lines
android:layout_weight="1.0"
android:ems="50"
When I used in layout form android:layout_weight=
it take value as 0.1
, why ?
On field it take 1.0
, why ?
what is 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>
Solution 1:[1]
Your EditText Width is not changing because you give the layout_weight = 1 to the EditText that means the EditText will take the full remaining width of your Horizontal LinearLayout in which it drawn.
if you will use the .5 layout_weight in TextView and EditText . Both of them will take the half half portion of whole width. Its a horizontal LinearLayout so weight will affect the width of views. So the width of Edittext is unuseful. and in case of Vertcal LinearLayout the height of the View will be affected with 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:- is a typographical term. For more about ems check this.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Community |