私はこのチュートリアルに従っていますが、それは言う
すべてのビューのデフォルトの重みは 0 であるため、0 より大きい重み値を 1 つのビューのみに指定すると、すべてのビューに必要なスペースが与えられた後に残っているスペースがそのビューによって埋められます。したがって、レイアウトの残りのスペースを EditText 要素で埋めるには、重みを 1 にして、ボタンを重みなしのままにします。
あなたは書くことによってこれを達成します
<EditText
android:layout_weight="1"
... />
私がしたこと。チュートリアルにあるように、も設定しlayout_width
ました。0dp
これで、Android Studio の [プレビュー] ペインにすべてが正常に表示されます。しかし、アプリをデバッグすると、EditText
コントロールが表示されません。EditText
しかし、ボタンは、コントロールが実際に画面の幅全体を埋めて押し下げたかのように、画面のさらに下と左に表示されます(表示されEditText
ないため、これを確認できません)。
weight プロパティを削除して固定幅を設定すると、表示されますが、明らかに望ましくありません。
EditText
コントロールが表示されないのはなぜですか?
これが私のコードです:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame" android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
</LinearLayout>
以下に示すように、EditText コントロールはありません。