/ /単一の画像で複数の編集テキストを完全に使用する方法-android、android-edittext

単一のイメージ上で複数のedittextを使う方法 - android、android-edittext

ここに画像の説明を入力

この画像に16個の編集テキストを設定する必要があります。この画像をmdpiフォルダーに配置します。ピクセルをdpに計算し、それに応じてedittextのサイズを設定します。 私の問題は、ASUS Fonepadでテストしたときに完璧に動作することですが、最初の編集テキストのギャラクシータブサイズでテストすると、最初のボックスの行の直前にあります。最後の編集テキストに行くまで、それは大きな違いになります。助けてください。 私はこのコードを試しました。

TableRow.xml
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/table_back" >

<EditText
android:id="@+id/req"
android:layout_width="78dp"
android:layout_height="match_parent"
android:background="#00000000"
android:paddingLeft="2dp" >

<requestFocus />
</EditText>

<EditText
android:id="@+id/fg"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/erg"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/srop"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="#00000000"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_horizontal"
android:inputType="number" />

<EditText
android:id="@+id/caes"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/oc"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="#00000000"
android:gravity="center_horizontal"
android:inputType="number" />

<EditText
android:id="@+id/process"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/dt"
android:layout_width="39dp"
android:layout_height="match_parent"
android:background="#00000000"
android:gravity="center_horizontal"
android:inputType="number" />

<TextView
android:id="@+id/rpn"
android:layout_width="39dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:gravity="center_horizontal" />

<EditText
android:id="@+id/rec"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/sv2"
android:layout_width="39dp"
android:layout_height="match_parent"
android:background="#00000000"
android:gravity="center_horizontal"
android:inputType="number" />

<EditText
android:id="@+id/oc2"
android:layout_width="39dp"
android:layout_height="match_parent"
android:background="#00000000"
android:gravity="center_horizontal"
android:inputType="number" />

<EditText
android:id="@+id/dt2"
android:layout_width="39dp"
android:layout_height="match_parent"
android:background="#00000000"
android:gravity="center_horizontal"
android:inputType="number" />

<TextView
android:id="@+id/new_rn"
android:layout_width="39dp"
android:layout_height="wrap_content"
android:background="#00000000"

android:gravity="center_horizontal" />

<EditText
android:id="@+id/resp"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:background="#00000000"
android:paddingLeft="2dp" />

<EditText
android:id="@+id/target_date"
android:layout_width="80dp"
android:layout_height="match_parent"
android:background="#00000000"
android:editable="false"
android:gravity="center_horizontal" />

回答:

回答№1は1

dpではなくweightを使用する必要があります。 たとえば、tablerowのweightsumを1000に設定してから、EditTextsの重みを分割します。この方法では、dpの計算に依存するだけでなく、より多くの制御が可能です。 また、パディングである可能性があり、ディメンションを調べて、パディングがないことを確認するか、またはpadding:0を設定してそれをオーバーライドします。あなたの卓上で