将自定义标签添加到材料范围滑块

2023-11-23

I'm using Android material components library's latest (1.3.0-alpha01) version to display a range slider (slider with two thumbs). Now need to customize the labels and always show each thumb's value over the thumbs in TextView (without any drawables or default flags, see attached picture). How can I make labelBehavior always visible and show the thumb values in custom view when user drags them? enter image description here


要改变背景颜色您可以使用自定义样式的标签:

    <com.google.android.material.slider.RangeSlider
        style="@style/Myslider"
        ...>

with:

<style name="Myslider" parent="@style/Widget.MaterialComponents.Slider">
    <item name="labelStyle">@style/My_Tooltip</item>
    <item name="materialThemeOverlay">@style/ThemeOverlay.Slider</item>
</style>

<style name="My_Tooltip" parent="Widget.MaterialComponents.Tooltip">
    <!-- background color of the Tooltip -->
    <item name="backgroundTint">@color/...</item>
</style>

<style name="ThemeOverlay.Slider" parent="">
    <!-- color used by the text in the Tooltip -->
    <item name="colorOnPrimary">@color/...</item>
</style>

要自定义标签中的值,您可以LabelFormatter.
就像是:

RangeSlider slider = findViewById(R.id.slider);
slider.setLabelFormatter(new LabelFormatter() {
  @NonNull
  @Override
  public String getFormattedValue(float value) {
    //It is just an example
    if (value == 3.0f)
      return "TEST";
    return String.format(Locale.US, "%.0f", value);
  }
});

enter image description here

有关behavior标签的只有这些值(与1.2.0-beta01 and 1.3.0-alpha01):

  • LABEL_FLOATING:标签仅在交互时可见。它将浮动在滑块上方,并可能覆盖该滑块上方的视图。这是默认和推荐的行为。
  • LABEL_WITHIN_BOUNDS:标签仅在交互时可见。标签将始终在此视图的边界内绘制。这意味着当标签不可见时,滑块上方将显示额外的空间。
  • LABEL_GONE:永远不会绘制标签。

目前似乎不可能始终显示标签。

您可以使用以下命令设置标签行为setLabelBehavior方法或labelBehavior在布局或风格中。

<com.google.android.material.slider.RangeSlider
        app:labelBehavior="withinBounds"/>

如果您想更改shape标签的你可以检查这个answer.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将自定义标签添加到材料范围滑块 的相关文章

随机推荐

  • 为什么 jar 忽略我的清单?

    我尝试使用以下命令创建可执行 jar jar cvfm h jar Manifest mf Whatever1 class Whatever2 class 清单包含以下内容 Main Class Whatever1 但如果我尝试运行该罐子
  • 如何使用 v-for 使用 vue.js 渲染表格

    我有一个看起来像这样的数组 sales Year 2018 Month 01 Sale 512 Year 2018 Month 02 Sale 1025 Year 2017 Month 01 Sale 155 Year 2017 Month
  • CancellationTokenSource.CancelAfter() 是否泄漏?

    的发布异步定位包提示我使用ILSpy看看什么基于任务的异步模式 TAP 那里提供了扩展方法 其中一些我已经自己实现并在 VS2010 中使用 我偶然发现了 CancelAfter TimeSpan 方法用于CancellationToken
  • 将多组测量列(宽格式)重塑为单列(长格式)

    我有一个宽格式的数据框 在不同的日期范围内进行重复测量 在我的示例中 存在三个不同的时期 都有相应的值 例如 第一次测量 Value1 是在这段时间内测量的DateRange1Start to DateRange1End ID DateRa
  • 如何检查 dask 数据框是否为空

    有没有相当于 pandas 的 daskempty功能 我想检查 dask 数据框是否为空 但是df empty return AttributeError DataFrame object has no attribute empty D
  • 如何用js检测屏幕截图

    Not sure how they do it but hulu has found a way to detect if a screenshot is taken or if the screen record is on and se
  • C函数中的指针“未使用计算值”

    我编写了一个函数 可以按照请求的长度缩短字符串 单词的句子 我不希望句子的剪切恰好位于单个单词的中间 所以我向后跳 n 个字符 直到到达一个空格并在那里剪切句子字符串 我的问题并不是真正的问题 编译我的函数会发出一条警告 提示 警告 未使用
  • 在 svg 路径元素上添加类

    在我的项目中 我有一个 SVG 世界地图 其中包含具有不同 id 的不同路径和一类map path 对于每个国家 地区 单击 我想在每个路径上添加类 我的 HTML 是这样的
  • 消息队列的好策略?

    我目前正在设计一个应用程序 我最终希望将其迁移到 Windows Azure 然而 短期内 它将在我自己托管的服务器上运行 该应用程序涉及许多独立的 Web 应用程序 其中一些本质上是接收数据的 WCF 服务 一些是供用户管理数据的站点 此
  • C++——为什么我们应该在这个构造函数中使用显式?

    请参阅维基百科 策略模式 C class Context private StrategyInterface strategy public explicit Context StrategyInterface strategy strat
  • 容器内水平滚动

    我对 javascript 很陌生 我正在尝试创建一个水平滚动 div JSfiddle 正如您所看到的 菜单链接转到每种颜色 但我想将其放入一个 250x250px 的容器中 因此只有 1 种颜色可见 然后您单击任一链接 它就会滚动到该颜
  • protobuf-net 字节数组上的 OverwriteList

    我正在做的是尝试通过 protobuf net 发送 IPEndpoint 我观察到 当将 4 字节数组反序列化为 IP4 地址时 设置代码收到 8 字节的值 四个字节包含原始地址 另外 4 个字节包含序列化的地址 通过单步执行代码 我已经
  • 使用两个多对多时 GROUP_CONCAT 中的值重复 [重复]

    这个问题在这里已经有答案了 我试图在字符串中加入两个多对多关联 在此示例中 每个团队都有未确定的颜色数量和未确定的获奖数量 这是架构 这是我正在使用的查询 SELECT teams name AS name GROUP CONCAT col
  • 更改 5.0+ 上的对话框文本颜色

    我正在尝试更改对话框中的文本颜色 最常见的是 AlertDialog 我已经尝试了这些页面上的所有解决方案 AlertDialog 样式 如何更改标题 消息等的样式 颜色 如何更改 AlertDialog 标题的颜色及其下方线条的颜色 如何
  • Spring Boot + Spring Data 多租户

    是否可以将 Spring Boot 配置为使用 MultiTenantConnectionProvider 以便我系统的每个客户端都连接到自己的私有数据库 具体来说 我希望使用内置的休眠支持来支持多租户 http docs jboss or
  • 如何使用javascript更改占位符的颜色? [复制]

    这个问题在这里已经有答案了 我想在调用 mobileValidate 后更改此占位符的颜色
  • Sass:使用@for循环改变颜色

    I try to darken a variable number of divs like that with following code mixin color divs count baseName startcolor color
  • 启用双重逃逸有危险吗?

    我有一个 ASP NET MVC 应用程序 其路径允许通过 search 搜索内容 当我提供 search abc 时 它运行良好 但是当我提供 search a b c 正确的 url 编码 时 IIS7 会拒绝该请求 并出现 HTTP
  • 未定义用户定义类型 - 从 Excel 控制 Word

    我正在尝试从 Excel 2007 到 Word 2007 进行一些相对简单的复制和粘贴 我浏览过这个网站和其他网站 但一直对同一件事感到困惑 下面的代码的第三行不断给我 用户类型注释已定义 错误消息 我真的很困惑 因为我刚刚从另一个解决方
  • 将自定义标签添加到材料范围滑块

    I m using Android material components library s latest 1 3 0 alpha01 version to display a range slider slider with two t