2つのウィジェット(スピナーなど)を線形レイアウトで並べて実装するのは難しいと感じています。つまり、両方のスピナーのレイアウトの高さはラップコンテンツですが、幅は最初のスピナーでは前半、2番目のスピナーでは画面の後半である必要があります。線形レイアウトでは、それらは互いに下降します。相対レイアウトで試しましたが、wrap_contentとして幅を指定すると、両方が隣り合っていますが、2番目のスピナーのすぐ近くに多くのスペースが残っています。私はいくつかのアプリでこれがうまくいくのを見ましたが、私はそれを取得していません。
質問する
3277 次
4 に答える
8
を使用しlayout_weight
ます。これにより、2つのスピナーがそれぞれスペースの半分を占めるようになります。
<LinearLayout
android:orientation="horizontal"
... >
<Spinner
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
... />
<Spinner
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
... />
</LinearLayout>
于 2012-09-10T18:20:38.267 に答える
0
ある日、まったく同じ問題が発生しました。私はまた、それを機能させるために多くの異なるトリックを踏みました。私は両方のスピナーをそれぞれのレイアウトに配置することを終了しました。奇妙でしたが、うまくいきました。
于 2012-09-10T18:16:42.343 に答える
0
相対レイアウトは、相互に関連するビューを配置することを目的としています。サイズとは何の関係もありません。
linearLayoutの場合、両方のビューの高さ/幅(レイアウトの方向に応じて)を0pxに設定し、重みを1に設定します。これにより、それぞれが半分のスペースを占めるようになります。
于 2012-09-10T18:20:08.077 に答える
0
<?xml version="1.0" encoding="utf-8"?>
<Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/testArray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light"
android:orientation="horizontal" >
<Spinner
android:id="@+id/spinner2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/testArray" />
<Spinner
android:id="@+id/spinner3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
于 2012-09-10T18:36:48.340 に答える