首页 > 解决方案 > 从 Android Material DatePickerDialog 中删除纯色背景

问题描述

我有一个DatePickerDialog看起来像这样的

在此处输入图像描述

我一直试图从底部按钮中删除背景但没有成功。到目前为止,我已尝试设置buttonStyle buttonBarStyle主题,但没有成功。我的应用程序主题来源于Theme.MaterialComponents.NoActionBardatePickerStylestyles.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>

如何从这些按钮中删除背景?

标签: androidmaterial-designandroid-datepickerdatepickerdialog

解决方案


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、尺寸等。查看官方文档以获取更多信息。


推荐阅读