9

DatePickerDialog の表示について質問があります。

次のような「HoloDialog」テーマの日付ピッカー ダイアログを作成したい:

DatePickerDialog dpd = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog, reservationDate, 2014, 1, 1);

次に、この結果が表示されます。 Holo_Dealog を使用した DatePickerDialog

ご覧のとおり、ダイアログは「2 つの境界」で表示されます。

ここに表示されているものと同じダイアログを作成したいのですが、周りに 1 つの境界線があります。出来ますか?

4

1 に答える 1

21

あなたの質問を正しく理解していると仮定すると、方法を見つけたと思います。ここでは、匿名でサブクラス化して、ウィンドウの透明な背景DatePickerDialogをオーバーライドおよび設定します。onCreate()

DatePickerDialog dpd = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog,
                                            reservationDate, 2014, 1, 1) {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    }
};

代わりに、カスタム テーマを使用してこれを行うこともできます。例えば:

<style name="HoloDialog" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

次に、それをDatePickerDialogのコンストラクターに渡します。

DatePickerDialog dpd = new DatePickerDialog(this, R.style.HoloDialog,
                                            reservationDate, 2014, 1, 1);
于 2014-08-08T14:49:07.987 に答える