如何在Android中更改“MaterialDatePicker”的主题?

2024-02-22

我用过材质日期选择器为了选择一个日期,我也完成了这项任务,但是我无法更改主题标题和按钮。

        MaterialDatePicker.Builder builder;
        MaterialDatePicker materialDatePicker;

        long today = MaterialDatePicker.todayInUtcMilliseconds();
        CalendarConstraints.Builder con = new CalendarConstraints.Builder();
        con.setValidator(DateValidatorPointForward.now());
        builder.setSelection(today);
        builder.setCalendarConstraints(con.build());

        materialDatePicker = builder.build();

        findViewById(R.id.startCalender).setOnClickListener(v ->
                materialDatePicker.show(getSupportFragmentManager(), builder.toString())
        );

        materialDatePicker.addOnPositiveButtonClickListener(selection -> 
        Toast.makeText(this, materialDatePicker.getHeaderText(), 
        Toast.LENGTH_SHORT).show());

你有不同的选择。
您可以使用:

builder.setTheme(R.style.MaterialCalendarTheme);

with:

  <style name="MaterialCalendarTheme" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
    <!-- just override the colors used in the default style -->
    <item name="colorOnPrimary">@color/primaryDarkColor</item>
    <item name="colorPrimary">@color/primaryLightColor</item>
  </style>

或者你可以使用类似的东西:

  <style name="MaterialCalendarTheme" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">

    <!-- Header panel -->
    <item name="materialCalendarHeaderLayout">@style/MaterialCalendar.HeaderLayout1</item>
    <!-- Buttons -->
    <item name="buttonBarPositiveButtonStyle">@style/TextButton.Dialog1</item>
    <item name="buttonBarNegativeButtonStyle">@style/TextButton.Dialog1</item>
  </style>
  <style name="MaterialCalendar.HeaderLayout1" parent="Widget.MaterialComponents.MaterialCalendar.HeaderLayout">
    <!--<item name="android:background">?attr/colorPrimary</item>-->
    <item name="android:background">@color/primaryLightColor</item>
  </style>
  <style name="TextButton.Dialog1" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
    <item name="android:textColor">@color/white</item>
    <item name="backgroundTint">@color/primaryDarkColor</item>
  </style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android中更改“MaterialDatePicker”的主题? 的相关文章

随机推荐

  • 方法可能无法清理已检查异常的流或资源 - FindBugs

    我正在使用 Spring JDBCTemplate 访问数据库中的数据并且它工作正常 但 FindBugs 指出了我的代码片段中的一个小问题 CODE public String createUser final User user try
  • 方案脚本与构建阶段脚本

    构建完成后 我想将一些文件复制到我的 Xcode 项目中 我发现我可以这样做 在 构建阶段 中使用自定义构建步骤 我还可以在方案编辑器中的不同 任务 之前和之后执行脚本 Build 这是我可以添加脚本的地方 Run Test Profile
  • 如何允许用户使用 Google Consumer Surveys API 访问调查结果?

    我使用以下方法创建了一项调查谷歌消费者调查 https www google com insights consumersurveys home 我想使用不同的帐户来检查调查结果 如何允许第二个 Google 帐户通过 API 访问调查 您
  • 可以直接跳转到 ViewAnimator 中的第二个视图

    我有一个ViewAnimator ViewSwitcher准确地说 具有与其关联的淡入 淡出动画和两个Views我在使用之间转换ViewAnimator showNext and ViewAnimator showPrevious 方法 我
  • WiX 修补无法正确更新文件

    我的 admin image 风格 WiX 测试补丁无法正确更新现有安装 使用 msiexec lx 时 我得到以下与修补 fi executable exe 相关的信息 MSI s 88 E0 12 32 41 716 Baseline
  • 在 graphviz 中使用符号字体/数学符号

    环境 graphviz 2 38 Windows 7 Using dot 我想生成如下所示的路径图来表示结构方程模型 好吧 这里只是一个简单的单因素测量模型 我想对某些节点和边使用希腊字母 并且实际上更喜欢如果我可以在点文件中使用类似 La
  • 智能颜色检测

    我们正在开发一个医疗调度系统 该系统允许用户根据特定状态定义要在日历上显示的颜色 我们遇到的问题是 如果用户选择深色背景颜色并且我们使用深色字体 则该字体不会显示 同样 如果他们选择浅色 而我们使用浅色字体 由于多种原因 我们不希望用户设置
  • 正则表达式性能 VS 纯粹迭代的最佳实践

    我想知道何时使用正则表达式 VS 是否有任何一般准则 string contains anotherString 和 或其他 String API 调用 虽然上面给出了决定 contains 是微不足道的 如果您可以在一次调用中完成此操作
  • WP 7 中 Uri.IsWellFormedUriString 实现中的错误?

    在 NET 4 控制台应用程序和 Silverlight 4 应用程序中 以下返回false Uri IsWellFormedUriString http msdn microsoft com en us library system ur
  • Fragment 元素包含未处理的扩展元素“util:RegistrySearch”

    学习如何创建 Wix Booloader 以便我可以使用我的 msi 安装包安装 NET Framework 无论如何 我遇到了未处理的扩展元素的错误 代码如下
  • 为什么我在这段代码中得到一个奇怪的数字?

    我想编写一个 C 程序来计算从 1 到 5 的整数的阶乘并以表格格式打印它们 然而 我总是收到一个奇怪的数字 这是代码 include
  • HTML/jQuery 表:水平滚动,固定第一(左)列

    我有一个表 显示一列测试名称 以及与测试相关的各种测试数据的多个 无限数量 列 由于会有多组数据 我想限制可以看到的数量 并且让用户能够水平滚动以显示 隐藏不同的数据组 接受的答案jquery表格列滑动效果 https stackoverf
  • 带 Retrofit 转换器的 Gson 反序列化器:所有响应只需要内部 JSON

    我正在使用一个总是这样响应的 API stuff i need title Hello title World status success and other things key version 208 status success 总
  • Seam - 列出所有组件

    我想获得所有组件的列表 以便我可以进一步处理它们 这可能吗 如果可以 我该怎么做 我不相信我可以观察所有 postCreate 事件 因为它只是完全匹配而不是正则表达式 Observer org jboss seam postCreate
  • Jupyter 拒绝在 Windows 上提供隐藏目录 (D:\)

    我正在尝试启动 Jupyter 其基本目录是我的第二个硬盘的根目录 我曾经能够使用 Ipython 3 x 很好地做到这一点 直到我升级到最新版本 如果我 cd 到 D 并输入jupyter notebook debug我得到的跟踪的末尾是
  • 获取 Microsoft OneDrive 管理的文件的完整文件属性

    Microsoft OneDrive 允许本地 远程或两种方式存储文件 这是由 Windows 10 中出现的新文件属性决定的 FILE ATTRIBUTE PINNED 0x00080000 FILE ATTRIBUTE UNPINNED
  • Django 以交错/交替方式合并 2 个查询集?

    在我的 Django 应用程序中 我有 2 个查询集same目的 我知道我可以使用 itertools 和链合并 2 个查询集 如下所示 from itertools import chain list chain first querys
  • Elixir/erlang 在哪里适合微服务方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近 我一直在使用 docker compose 进行一些实验 以便部署多个协作微服务 我可以看到微服务提供的许多好处 而且现在有一个
  • 突出显示文本区域中的句子

    我必须编写一个程序 在其中必须突出显示 JTextarea 中的句子 我有一个文件 称为原始文件和摘要文件 原始文件将显示在文本区域框中 我必须在文本区域框中突出显示摘要文件的所有句子 例如 如果原始文件包含 Tendulkar 出生于孟买
  • 如何在Android中更改“MaterialDatePicker”的主题?

    我用过材质日期选择器为了选择一个日期 我也完成了这项任务 但是我无法更改主题标题和按钮 MaterialDatePicker Builder builder MaterialDatePicker materialDatePicker lon