gpt4 book ai didi

android - 将自定义标签添加到 Material 范围 slider

转载 作者:行者123 更新时间:2023-12-03 15:21:09 26 4
gpt4 key购买 nike

我正在使用 Android Material 组件库的最新 (1.3.0-alpha01) 版本来显示范围 slider (带有两个拇指的 slider )。现在需要自定义标签和总是 在 TextView 中的拇指上显示每个拇指的值(没有任何可绘制对象或默认标志,请参见附图)。如何制作 labelBehavior当用户拖动它们时始终可见并在自定义 View 中显示拇指值?
enter image description here

最佳答案

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

    <com.google.android.material.slider.RangeSlider
style="@style/Myslider"
...>
和:
<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
关于 行为 标签中只有这些值( 1.2.0-beta011.3.0-alpha01) :
  • LABEL_FLOATING :标签仅在交互时可见。它将漂浮在 slider 上方,并可能覆盖此 slider 上方的 View 。这是默认和推荐的行为。
  • LABEL_WITHIN_BOUNDS :标签仅在交互时可见。标签将始终在此 View 的范围内绘制。这意味着当标签不可见时, slider 上方会出现额外的空间。
  • LABEL_GONE :永远不会绘制标签。

  • 目前似乎不可能总是显示标签。
    您可以使用 setLabelBehavior 设置标签行为方法或 labelBehavior在布局或样式中。
    <com.google.android.material.slider.RangeSlider
    app:labelBehavior="withinBounds"/>
    如果要更改 形状 标签的你可以检查这个 answer .

    关于android - 将自定义标签添加到 Material 范围 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62245234/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com