如何修改MaterialDatePicker dateRangePicker右上角的按钮文本

解决方案
你可以通过两种方式修改MaterialDatePicker的确认按钮文本:
方法1:单独为当前日期选择器设置
直接在Builder实例中调用setPositiveButtonText()方法即可,修改后的代码如下:
val dateRangePicker = MaterialDatePicker.Builder.dateRangePicker() .setTitleText("选择日期") .setPositiveButtonText("保存") // 此处替换为你需要的按钮文本即可 .setTheme(R.style.Widget_AppTheme_MaterialDatePicker) .build() dateRangePicker.show(childFragmentManager, "date_range_picker") dateRangePicker.addOnPositiveButtonClickListener { val start = it.first val last = it.second if (start != null && last != null){ val dateRange = "${globalHelper?.convertLongToString(start)} - ${globalHelper?.convertLongToString(last)}" binding.tvDateRange.text = dateRange } }
你使用的com.google.android.material:material:1.4.0版本原生支持该API,无需额外适配。
方法2:全局统一修改所有日期选择器的按钮文本
如果需要应用内所有日期选择器都使用统一的确认按钮文本,可以在你自定义的Widget_AppTheme_MaterialDatePicker主题中添加如下配置:
<style name="Widget.AppTheme.MaterialDatePicker" parent="ThemeOverlay.MaterialComponents.MaterialCalendar"> <item name="materialCalendarPositiveButtonText">@string/confirm</item> <!-- 如需修改取消按钮文本可以添加下行,不需要可忽略 --> <item name="materialCalendarNegativeButtonText">@string/cancel</item> </style>
两种方案按需选择即可,第一种适合单个页面自定义需求,第二种适合全局统一交互文案的场景。
内容的提问来源于stack exchange,提问作者Asad
相关产品推荐
相关产品推荐

