0

水平レイアウトに EditText と Spinner があります。スピナーは、最も幅の広いテキストを保持するのに必要なだけ大きくし、EditText は残りのスペースを取るようにしたいと考えています。これを行う簡単な方法はありますか?

たとえば、理想的には、スピナーの幅を平均フォント幅の倍数として指定し、xml ファイルの属性として宣言したいと考えています。

それ以外の場合は、スピナー内の各項目のテキスト幅を取得し、ラジオボタン アイコンの最大 + 許容値を取得するなど、実行時に何かを行う必要があると思います。

これは私のxmlです:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="horizontal" >

  <EditText
    android:id="@+id/text"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/text" />

  <Spinner
    android:id="@+id/type"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:spinnerMode="dropdown"
    android:textAppearance="@android:style/TextAppearance.Medium" />
</LinearLayout>

ありがとう。

4

1 に答える 1

1

これを試して

<LinearLayout
    android:id="@+id/rl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:orientation="horizontal" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </EditText>

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
于 2012-11-30T22:10:17.383 に答える