編集画面の左にあるラベル付きの入力フィールドのリストが必要です。下部には、一式のボタンが必要です。中央に配置する必要があります。 ラベルには言語によって異なる幅があるため、EditTextビューは残りのスペースにまたがる必要があります。私はグリッドレイアウトを使用しています。なぜなら、すべてのEditTextビューを左に縦線に合わせる必要があるからです。残りのスペースをアンドロイド・ビューにする方法
私はこれを解決するために半日を過ごしましたが、私は進歩しません。私は得ることができる最も近いがこれです:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_column="0"
android:layout_row="0"
android:text="Label 1234545"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvHeightLabel"/>
<EditText
android:layout_column="1"
android:layout_row="0"
android:text="Some text which is too long that it could fit in one single row"
android:layout_gravity="fill_horizontal"
android:inputType="numberDecimal"
android:ellipsize="end"
android:id="@+id/etHeight"
android:layout_width="259dp"/>
<TextView
android:layout_column="0"
android:layout_row="1"
android:text="Label 2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvHeightLabel2"/>
<EditText
android:layout_column="1"
android:layout_row="1"
android:text="Some text which is too long that it could fit in one single row"
android:layout_gravity="fill_horizontal"
android:inputType="numberDecimal"
android:ellipsize="end"
android:id="@+id/etHeight2"
android:layout_width="259dp"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_row="3"
android:layout_column="0"
android:layout_columnSpan="2">
<Button
style="?android:attr/buttonBarButtonStyle"
android:text="Button 1"
android:layout_height="wrap_content"
android:id="@+id/btCancel"
android:layout_weight="1"
android:layout_width="wrap_content"/>
<Button
style="?android:attr/buttonBarButtonStyle"
android:text="Button 2"
android:layout_height="wrap_content"
android:id="@+id/btSave"
android:layout_weight="1"
android:layout_width="wrap_content"/>
</LinearLayout>
</GridLayout>
このレイアウトは、次のようになります。
最初に動作するようだが、ラベルは、特定のサイズ、のEditTextビュー要素を超えたとき右の画面の脱却:
上記溶液は、のために働く、なぜ私も得ることはありませんラベルはわずかに成長します。 EditText要素の幅はAndroid Studioによって自動的に設定された259dpに設定されています。 (私はEditTextビューをデザイン画面上のプレビュー上にマウスでサイズ調整して配置しようとしましたが、上記のように特定のポイントで自動的に配置されました)
ビューを食べさせるには、そのコンテンツとは独立したままにしておくこと。テキストはスクロールできる、私はそれで大丈夫だ。私はレイアウトのコンセプトを全く理解していないような気がします。
パディングを使用する場所はどこですか? EditTextビューにパディングを追加すると、ビューのエッジとテキストの内容の間にスペースができるだけであることを理解しています。すべての利用可能なスペースを水平に見せるという私の問題を解決するにはどうすればいいですか? – Carsten
あなたはあなたのグリッドビューの列の幅を修正し、いくつかのプロパティを追加する必要があると思います:android:layout_column = "0" android:layout_row = "0" android:layout_gravity = "fill" android:layout_columnWeight = "1" android:layout_rowWeight = "1" – bluedroid