android - 从 Android Material DatePickerDialog 中删除纯色背景
问题描述
我有一个DatePickerDialog
看起来像这样的
我一直试图从底部按钮中删除背景但没有成功。到目前为止,我已尝试设置buttonStyle
buttonBarStyle
主题,但没有成功。我的应用程序主题来源于Theme.MaterialComponents.NoActionBar
我datePickerStyle
的styles.xml
<style name="DatePickerDialogStyle" parent="@style/Theme.MaterialComponents.Light.Dialog">
<item name="colorPrimary">@color/red</item>
<item name="colorPrimaryDark">@color/red</item>
<item name="colorAccent">@color/red</item>
</style>
我在我的设置AppTheme
如下
<item name="alertDialogTheme">@style/DatePickerDialogStyle</item>
<item name="android:datePickerDialogTheme">@style/DatePickerDialogStyle</item>
如何从这些按钮中删除背景?
解决方案
DatePickerDialog
您可以在显示之前以编程方式设置值,如下所示:
DatePickerDialog datePickerDialog = new DatePickerDialog(this);
datePickerDialog.getButton(DatePickerDialog.BUTTON_NEGATIVE).setBackgroundColor(Color.TRANSPARENT);
datePickerDialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setBackgroundColor(Color.TRANSPARENT);
datePickerDialog.show();
您还可以设置其他属性,如 textColor、尺寸等。查看官方文档以获取更多信息。