如何在Android中剪切(删除或隐藏或缩小)Material dateRangePicker(Dialog)的header_title?

liv*_*way 2 android datepicker android-datepicker material-design material-components-android

我想删除顶部的空间

图像

我的风格主题(stackOverFlow 的用户回答在这里

我的代码

fun clickDatePicker() {
        setTheme(R.style.AppTheme_MaterailComponent)

        val local = Locale.KOREA
        Locale.setDefault(local)

        val builder = MaterialDatePicker.Builder.dateRangePicker()
        val picker = builder.build()
        picker.apply {
            addOnPositiveButtonClickListener { selection: Pair<Long, Long>? ->
                // just my other logic
                selection?.first?.let { setYearMonthDate(it) }
                    ?.let { it1 -> firstAndSecondMap.put(0, it1) }
                selection?.second?.let { setYearMonthDate(it) }
                    ?.let { it1 -> firstAndSecondMap.put(1, it1) }
                filterDate()
                binding.duration = 0
            }
            show(supportFragmentManager, "picker")
        }
        
}
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 6

目前(1.1.01.2.0-beta011.3.0-alpha01没有隐藏标题标题的方法。
这只是一种解决方法,在下一个版本中可能会停止工作。

在您的主题叠加层中,您可以设置visibilityHeaderTitle 的:

   <style name="MaterialCalendarTheme" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
        <item name="materialCalendarHeaderTitle">@style/HeaderTitle_Hide</item>
    </style>

    <style name="HeaderTitle_Hide" parent="@style/Widget.MaterialComponents.MaterialCalendar.HeaderTitle">
        <item name="android:visibility">gone</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

那还不够。您必须在项目中覆盖这些尺寸。

<dimen name="mtrl_calendar_header_height">72dp</dimen>
<dimen name="mtrl_calendar_selection_text_baseline_to_top">58dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述