1

TextView、Edittext、およびボタンを同じ行に配置したいのですが、ボタンが左に正しく配置されておらず、小さな画面では edittext がいっぱいになるという問題があります。

小画面: ここに画像の説明を入力

大画面:ここに画像の説明を入力

私の成文化は次のとおりです。

<LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/address_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/address_textview"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/address_edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="@string/address_textview_hint"
            android:imeActionLabel="@string/search_button"
            android:imeOptions="actionDone"
            android:inputType="textCapWords"
            android:nextFocusDown="@id/address_edittext"
            android:nextFocusUp="@id/address_edittext"
            android:singleLine="true" />

        <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="right" >
        <Button
            android:id="@+id/go_button"
            android:layout_width="50dp"
            android:layout_height="35dp"
            android:text="Go" />
                </RelativeLayout>

    </LinearLayout>
4

4 に答える 4

4

hintまず、多くの人は、それがラベルを必要としない Android のソリューションだと言うでしょう。ラベルを使用するかどうかは気にしませんが、特に小さな画面ではスペースを節約できます。それは参考までに。

今、あなたRelativeLayoutだけがButton役に立たないように見えます...私はそれを削除します. layout_weightそれぞれViewが適切な量のスペースを占有するように使用できます。を必ず作ってくださいlayout_width="0dp"。だから、それは次のように見えるかもしれません

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/address_textview"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:text="@string/address_textview"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/address_edittext"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:hint="@string/address_textview_hint"
        android:imeActionLabel="@string/search_button"
        android:imeOptions="actionDone"
        android:inputType="textCapWords"
        android:nextFocusDown="@id/address_edittext"
        android:nextFocusUp="@id/address_edittext"
        android:singleLine="true" />

    <Button
        android:id="@+id/go_button"
        android:layout_width="0dp"
        android:layout_height="35dp"
        android:layout_weight="1"
        android:text="Go" />

</LinearLayout>

weightsここでは、TextViewEditText、 のそれぞれに2,3,1 を使用しましButtonた。あなたが望むものを正確に得るためにそれらを変更する必要があるかもしれませんが、それはあなたの出発点になるはずです.

于 2013-11-08T21:27:03.363 に答える
2

レイアウト ウェイトは、画面サイズに合わせて調整するレイアウトの設計に最適です。ただし、layout_width は必ず 0dp に設定してください。正しく動作しません。

次のように使用します。

    android:layout_width="0dp"
    android:layout_weight="1"
于 2013-11-08T21:29:03.633 に答える