カスタム ドロップダウン スタイル インターフェイスを使用するアプリケーションがあります。説明がやや複雑な理由により、組み込みの Android Spinner の代わりにこれを使用する必要があります。
開いているダイアログ (緑) にドロップダウン オプション (オレンジ) が重なる問題が発生しています。fill_parent は、ドロップダウンが開いていないときに緑色のセクションを大きくしすぎます。小さすぎると、緑色のダイアログ領域の後ろに黒い領域が残ります。これは、塗りつぶしの親の場合と同じサイズです。
このタイプのレイアウトを実現する方法はありますか?
代わりに、次のように表示されます。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:id="@+id/vw_background"
android:layout_width="fill_parent"
android:layout_height="180dip"
android:background="#FFFFFF"/>
<RelativeLayout
android:id="@+id/rl_stacker"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip">
<TextView
android:id="@+id/tv_question"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/sample_prompt_message"
android:textColor="#000000"
android:textSize="18dp"
android:padding="10dip"/>
<TextView
android:id="@+id/tv_dropdown_closed"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_question"
android:gravity="center_vertical|left"
android:text="@string/request_control_dropdown_option_1"
android:textColor="#000000"
android:background="@drawable/background_dropdown"
android:layout_marginLeft="3dip"
android:layout_marginRight="3dip"
android:layout_marginTop="0dip"
android:layout_marginBottom="5dip"
android:paddingLeft="10dip"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_buttons"
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/tv_dropdown_closed">
<trioro.voyeur.ui.GhostButton
android:id="@+id/gb_yes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/button_yes"/>
<trioro.voyeur.ui.GhostButton
android:id="@+id/gb_no"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/button_no" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_dropdown_open"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_question"
android:layout_marginBottom="0dip"
android:layout_marginLeft="3dip"
android:layout_marginRight="3dip"
android:layout_marginTop="0dip"
android:background="#CCCCCC"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="1dip"
android:paddingLeft="1dip"
android:paddingRight="1dip"
android:paddingTop="0dip"
android:visibility="invisible" >
<TextView
android:id="@+id/tv_dropdown_option_1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/request_control_dropdown_option_1"
android:textColor="#000000"
android:padding="10dip"
android:background="#FFFFFF"
android:layout_marginTop="1dip" />
<TextView
android:id="@+id/tv_dropdown_option_2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/request_control_dropdown_option_2"
android:textColor="#000000"
android:padding="10dip"
android:background="#FFFFFF"
android:layout_marginTop="1dip" />
<TextView
android:id="@+id/tv_dropdown_option_3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/request_control_dropdown_option_3"
android:textColor="#000000"
android:padding="10dip"
android:background="#FFFFFF"
android:layout_marginTop="1dip" />
<TextView
android:id="@+id/tv_dropdown_option_4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/request_control_dropdown_option_4"
android:textColor="#000000"
android:padding="10dip"
android:background="#FFFFFF"
android:layout_marginTop="1dip" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>