gpt4 book ai didi

android - SeekBar 自定义 - 如何正确定位自定义 "thumb"图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:42 29 4
gpt4 key购买 nike

我自定义了我的 SeekBar - 我使用自定义图像作为背景,使用自定义图像作为缩略图(How to create custom layout for seekbar in android?How to customize the look of a SeekBar in Android?)。

我们的想法是制作一个看起来像这张图片中的 SeekBar:

enter image description here

progress 出现时,我希望拇指图像完全适合圆条。值设置为 0 或 100(满分 100)。

为了正确定位拇指(即不与条的两端重叠),我设置了 paddingLeft & paddingRight值正好是拇指宽度的一半 ( Android: Seekbar doesn't scroll all the way to end )。

.../res/layout/main.xml:

<SeekBar android:id="@+id/frequency_slider"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100" android:progress="0"
android:progressDrawable="@drawable/seekbar_no_visible_progress"
android:thumb="@drawable/seekbar_thumb" <!-- this is an image -->
android:background="@drawable/hos_bar" <!-- this is an image -->
android:paddingLeft="24dp"
android:paddingRight="24dp">
</SeekBar>

这适用于 Android 2.1。


在 Android 2.2 中这会产生不同的效果:

enter image description here


经过进一步调查(并使用完全默认的 SeekBar 进行尝试,我发现拇指图像的位置已从 2.1 更改为 2.2。我更改 paddingLeftpaddingRight 的技巧不是问题所在.

  • 在 2.1 中,大拇指以横杆末端为中心,一半拇指放在横杆上,另一半拇指离开横杆。
  • 在 2.2 中,拇指位于横杆内,没有任何重叠。因此,填充值影响结果的方式很奇怪。这就是我试图实现的目标,但是当使用自定义拇指时,这种效果不再以同样的方式起作用。

我想我需要制作一个自定义 java 类来处理此类事情。在这个问题 ( Possible to do rounded corners in custom Progressbar progressDrawable? ) 中,开发人员使用 ClipDrawable为了制作一个正常的进度条。

为了正确定位我的拇指,我会使用什么类型的可绘制对象,以及如何使用?

最佳答案

seekbar.setThumbOffset(0);

在运行时。不是来自 XML!

为我解决了问题。

关于android - SeekBar 自定义 - 如何正确定位自定义 "thumb"图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735628/

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