DatePickerDialog显示两个边框

Iva*_*n B 9 android android-datepicker datepickerdialog

我有一个关于DatePickerDialog显示的问题.

我想用"HoloDialog"主题创建日期选择器对话框,如下所示:

DatePickerDialog dpd = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog, reservationDate, 2014, 1, 1);
Run Code Online (Sandbox Code Playgroud)

然后我会看到这个结果: 带有Holo_Dealog的DatePickerDialog

如您所见,对话框显示为"两个边框".

我想创建与此处显示的相同的对话框,但是有一个边框.可能吗?

Mik*_* M. 20

假设我正确地理解了你的问题,我想我找到了办法.在这里,我们匿名子类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));
    }
};
Run Code Online (Sandbox Code Playgroud)

您也可以使用自定义主题执行此操作.例如:

<style name="HoloDialog" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后在DatePickerDialog构造函数中传递:

DatePickerDialog dpd = new DatePickerDialog(this, R.style.HoloDialog,
                                            reservationDate, 2014, 1, 1);
Run Code Online (Sandbox Code Playgroud)