3

私は Android アプリケーションを開発しており、4 桁を保持するための 4 つの 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>

そして、これは私が得るものです:

ここに画像の説明を入力

しかし、editText が大きすぎます。

1 文字だけに収まるように幅を変更するにはどうすればよいですか?

4

3 に答える 3

18

に変更します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

「em」はタイポグラフィの用語です。基本的には、指定されたフォント サイズでの 1 文字の幅と考えることができます。これは、フォント サイズを変更しても常に 1 文字幅になるため、推奨されます。

http://en.wikipedia.org/wiki/Em_(タイポグラフィ)

于 2013-06-04T07:58:46.613 に答える
0

android:maxEms="1" を設定するか、wrap_content を削除して幅を設定します

android:layout_width="40dp"
android:layout_height="40dp"
于 2013-06-04T08:17:09.923 に答える