0

ダイアログボックスのレイアウトを作成しました。郵便番号の EditText と Email EditText の編集ボックスに同じ幅が必要で、左揃えにします。

したがって、次のようになります。

電子メール: _ _ _ ___

郵便番号: _ _ _ ___

訂正: 実は上記は StackOverflow で正しく表示されていません。上記の行は正確に偶数で、左揃えにする必要があります。したがって、このフォーラムでもまったく同じ表示の問題があります。Email: の後にスペースを入れましたが、それでも整列しません。

代わりに、常に郵便番号よりも広い範囲の電子メールを受信して​​います。両方の EditText を同じ入力タイプに変更しましたが、うまくいきませんでした。TextView にまったく同じテキストがある場合にのみ、両方が Zip Code: と表示されている場合のように整列します。電子メールのテキスト編集にスペースを埋め込むと、レイアウト マネージャーはこれを認識しているようで、電子メールの EditText を郵便番号よりも大きく展開します。非常にイライラします!

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/messageMsg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="@dimen/text_21px"
    android:textColor="@color/white"
    android:text="lorum ipsum afasdf lajsdfasldfjald:"
    android:padding="10dip"
    />
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView   
        android:id="@+id/emailDescriptor"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="@dimen/text_21px"
        android:textColor="@color/white"
           android:padding="10dip"              
           android:text="Email:    "/>
    <EditText android:id="@+id/emailId"
         android:inputType="textEmailAddress"
         android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
           android:layout_margin="10dip"            
           android:textSize="@dimen/text_21px" />
</LinearLayout>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">   
    <TextView   
        android:id="@+id/zipCodeDescript"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:textSize="@dimen/text_21px"
        android:text="ZIP Code: "
        android:textColor="@color/white"/>
    <EditText android:id="@+id/zCode"
         android:inputType="textEmailAddress"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:layout_margin="10dip"
        android:textSize="@dimen/text_21px"/>
</LinearLayout>

4

3 に答える 3

0

今日、便利な属性に出くわし、この投稿を思い出しました。

Textview.setEms(int)を確認してください。Edittext もその機能を継承しています。

于 2012-06-19T01:45:00.337 に答える
0

@AedonEtLIRAが言ったように、位置をハードコーディングできます。左側のマージン属性を増やして、それらを揃えることができます。

または、属性を使用することもできます。

android:layout_alignLeft="@id/your_other_edittext"

3 番目のアイデアとして、ラベルのテキスト ボックスを同じ「幅」にすると、次の編集テキストが整列するはずです。

最後に、加重ネスト レイアウトを使用できます。しかし、それは悪い考えです。パフォーマンスが悪く、過度に混乱します。=)

于 2012-06-04T22:14:12.560 に答える
0

私があなたを正しく理解しているなら、これを試してください

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

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Email" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textEmailAddress" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="7dp"
            android:text="ZipCode" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10" >

            <requestFocus />
        </EditText>
    </TableRow>

</TableLayout>
于 2012-06-04T22:18:28.487 に答える