在 MaterialTimePicker 中修改标题文字大小

Modify title text size in MaterialTimePicker

我正在尝试更改 MaterialTimePicker 中标题的文本大小,但到目前为止我还没有运气在 styles.xml 文件中为我的文件找到要修改的正确属性项目。我发现在我的应用程序主题中设置 textAppearanceButton 允许我更改按钮大小和各种其他属性允许我更改颜色主题 here,但我没有找到任何与更改相关的文档标题以任何方式。是否可以修改标题的文字大小?

您可以定义一个特定于覆盖 textAppearanceOverline 属性的时间选择器的主题覆盖:

<style name="ThemeOverlay.App.TimePicker" parent="ThemeOverlay.MaterialComponents.TimePicker">
    <item name="textAppearanceOverline">@style/TextAppearance.App.TimePicker.Title</item>
</style>

<style name="TextAppearance.App.TimePicker.Title" parent="TextAppearance.MaterialComponents.TimePicker.Title">
    <item name="android:textSize">18sp</item>
</style>

然后您可以使用以下方式设置此主题:

    val picker =
        MaterialTimePicker.Builder()
            .setTimeFormat(TimeFormat.CLOCK_12H)
            .setHour(12)
            .setMinute(10)
            .setTheme(R.style.ThemeOverlay_App_TimePicker)
            .build()

您还可以将特定主题全局设置为在您的应用主题中添加的时间选择器:

<style name="Theme.App" parent="Theme.MaterialComponents.*">
    ...
    <item name="materialTimePickerTheme">@style/ThemeOverlay.App.TimePicker</item>
</style>

。 从 1.5.0-alpha03 开始,您必须使用 materialTimePickerTitleStyle 属性而不是 textAppearanceOverline:

<style name="ThemeOverlay.App.TimePicker" parent="ThemeOverlay.MaterialComponents.TimePicker">
    <item name="materialTimePickerTitleStyle">@style/TextAppearance.App.TimePicker.Title</item>
</style>

<style name="TextAppearance.App.TimePicker.Title" parent="TextAppearance.MaterialComponents.TimePicker.Title">
    <item name="android:textSize">18sp</item>
</style>