我有一个有关DatePickerDialog显示的问题。
我想用“HoloDialog”主题创建日期选择器对话框,如下所示:
DatePickerDialog dpd = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog, reservationDate, 2014, 1, 1);
然后,我将看到以下结果:
如您所见,对话框显示为带有“两个边框”。
我想创建与此处显示的对话框相同的对话框,但是周围有一个边框。是否可以?
最佳答案
假设我正确理解了您的问题,我想我找到了一种方法。在这里,我们匿名子类化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);