EditText コントロールと Button コントロールが同じ行に配置されている場合、一種の「Buttoned Edit」コントロールを作成しようとしています。シンプルな LinearLayout を使用しました。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editTextFileName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="Database file name"
android:inputType="textUri" />
<Button
android:id="@+id/buttonFileSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="46dip"
android:text="..." />
</LinearLayout>
問題は、編集ボックスとボタンが同じ「トップライン」に配置されていないことです。
詳しく見る:
別のエミュレーターでは、別の間隔が得られます。
EditText と Button の両方を常にトップラインに配置する方法は?
解決策 (@steevoo と @Mohamed_AbdAllah に感謝):
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonFileSelect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="46dip"
android:layout_alignParentRight="true"
android:text="..." />
<EditText
android:id="@+id/editTextFileName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:layout_toLeftOf="@id/buttonFileSelect"
android:layout_alignTop="@id/buttonFileSelect"
android:hint="Database file name"
android:inputType="textUri" />
</RelativeLayout>