2013-06-04 3 views
2

Я разрабатываю приложение для Android, и теперь я создаю экран пароля, который будет содержать четыре файла editText, чтобы удерживать четыре цифры.Как установить ширину editText на один символ

Это мой password.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <EditText 
     android:id="@+id/firstNum" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="14dp" 
     android:layout_marginTop="191dp" 
     android:ems="10" 
     android:inputType="textPassword" 
     android:lines="1" 
     android:maxLength="1" 
     android:maxLines="1" 
     android:minLines="1" > 

     <requestFocus /> 
    </EditText> 

</RelativeLayout> 

И это то, что я получаю:

enter image description here

Но EditText слишком велик.

Как изменить его ширину, чтобы соответствовать только одному символу?

+0

Вы пытались изменить андроид: атрибут layout_width? 10dp, например. – Fustigador

+0

Я думаю, вам нужно также установить элемент texsize ... Попробуйте – aProgrammer

ответ

-1

Если вы хотите установить физическую физическую ширину вашего EditText в вы можете использовать

android:maxWidth="your size in dp" 

, но если вы хотите получить один символ в нем, вы можете использовать

android:maxLength="1" 
13

Изменить его android:ems="1"

<EditText 
    android:id="@+id/firstNum" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="14dp" 
    android:layout_marginTop="191dp" 
    android:ems="1" 
    android:inputType="textPassword" 
    android:lines="1" 
    android:maxLength="1" 
    android:maxLines="1" 
    android:minLines="1" > 

http://developer.android.com/reference/android/R.attr.html#ems

«эм» это термин из типографии - в основном вы можете думать об этом, как ширина 1 символа в указанном размере шрифта. Это предпочтительнее, так как он всегда будет иметь один символ, даже если вы измените размер шрифта.

http://en.wikipedia.org/wiki/Em_(typography)

0

набор андроида: maxEms = "1" или удалить wrap_content и установить ширину

android:layout_width="40dp" 
android:layout_height="40dp" 
Смежные вопросы