4

つまり、ラインが 1 つあり、そこに 2 つのスピナーを水平に配置したいということです。均等に入れたい。しかし、私はそれを設定しません.3,3 inc screens に設定すると、dp を使用するため、他の画面で問題が発生します。何を使う?リニアレイアウトまたは相対的?アナド どのように設定しますか? ありがとう。

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





        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="309dp"
            android:layout_height="wrap_content" />


    <Spinner
        android:id="@+id/spinner2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

これは私の問題を示す IMG です: http://img4host.net/viewer.php?img=220942354fe421eb92ec5

4

3 に答える 3

5

線形レイアウトで重みの合計を使用します.....

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".5" />

    <Spinner
        android:id="@+id/spinner2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".5" />

</LinearLayout>

ここに画像の説明を入力

于 2012-06-22T07:44:25.023 に答える
0

以下のコードを使用して、デバイスに依存しない幅を動的に取得できます。

    DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

metrics.heightPixels;
int width=metrics.widthPixels;

幅を 2 ​​つに分割し、幅をwidth=width/2;アクティビティのスピナーに動的に設定します。

spinner.setLayoutParams(new LayoutParams(width,LayoutParams.WRAP_CONTENT));
于 2012-06-22T07:44:14.097 に答える
0

android:layout_weight="float value here"スピナーの中で使用します。これでうまくいくはずです。

説明については、これを参照してください。

于 2012-06-22T07:49:01.850 に答える