2

カスタム ドロップダウン スタイル インターフェイスを使用するアプリケーションがあります。説明がやや複雑な理由により、組み込みの 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>
4

1 に答える 1

2

LayoutParams.TYPE_APPLICATION_PANELポップアップ リスト ウィンドウに使用してみてください。申し訳ありませんが、実際のコードを見ないと具体的なことは言えません。

于 2012-11-12T21:24:33.557 に答える