我正在使用material.io中的Android MaterialComponents。
我有两个主题(浅色和深色)。我想显示一个DatePickerDialog。 但这是结果:
以下是我如何显示对话框的代码:
catch
最后但并非最不重要的是,我的主题:
private fun selectDeadline() {
val dialog = DateDialog()
val bundle = Bundle()
bundle.putInt("themeId", themeId)
dialog.arguments = bundle
dialog.show(supportFragmentManager, "")
}
class DateDialog : DialogFragment(), DatePickerDialog.OnDateSetListener {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val date = DateTime.now()
val themeId = arguments!!.getInt("themeId")
return DatePickerDialog(activity!!, themeId, this, date.year, date.monthOfYear - 1, date.dayOfMonth)
}
override fun onDateSet(view: DatePicker?, year: Int, month: Int, day: Int) {
deadlineTitle.text = "$year, $month, $day"
}
}
如果我不给themeId作为参数,则它在浅色主题上正确显示,而在深色主题上,它仅显示带有白色文本的浅色版本,由于白色背景,用户看不见。
解决此问题的正确方法是什么?
答案 0 :(得分:2)
谢谢你的提问。材质组件库当前不支持日期和时间选择器的暗模式。我们计划为此添加支持,请继续关注。