You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

screenshot

解决方案

你可以通过两种方式修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:15:02