从Android Material DatePickerDialog移除纯色背景

时间:2019-01-10 11:03:59

标签: android material-design android-datepicker datepickerdialog

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

enter image description here

我一直试图从底部按钮删除背景,但没有成功。到目前为止,我已经尝试将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>

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

1 个答案:

答案 0 :(得分:1)

您可以在显示之前以编程方式设置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,尺寸等。有关详细信息,请检查official documentation