Android SeekBar - 进度线不跟随拇指

标签 android padding progress seekbar

我的布局中有一个搜索栏,我在 xml 文件中将 paddings 和 thumbOffset 设置为 8dp。

<SeekBar
    android:id="@+id/seekBar1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/graph"
    android:layout_marginTop="10dp"
    android:max="100"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:thumbOffset="8dp"
    android:progress="97"
    android:progressDrawable="@drawable/rounded_corner_seekbar" />

我遇到的问题是,当进度接近尾声(但不是尾声)时,进度线将提前(如果进度 > 50)或落后(如果进度 < 50)。此图显示了正在发生的事情(进度分别设置为 97 和 3):

enter image description here .

您可以在第一个和第二个中看到拇指前面的进度线。

如果我将 paddings 和 thumbOffset 设置为默认值,则不会发生这种情况,但是,thumb 不会从矩形内部开始,它会在它的边缘。

enter image description here .

我正在寻找的解决方案是让背景变大,这样拇指就会在里面,但进度线会跟随拇指的中心。

下面是我如何定义搜索栏的背景:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- view background color -->
    <solid
        android:color="#000000" >
    </solid>

    <!-- view border color and width -->
    <stroke
        android:width="2dp"
        android:color="#FFFFFF" >
    </stroke>

    <!-- Here is the corner radius -->
    <corners
        android:radius="5dp"   >
    </corners>

</shape>

主要问题是进度线总是从矩形的边缘开始,而由于填充和 thumbOffset,thumb 可能不会。如果我找到一种方法使线条的开始和结束位置与拇指相同,它也会起作用。

最佳答案

解决方案刚刚设置 - android:thumbOffset="0dp"

关于Android SeekBar - 进度线不跟随拇指,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956121/

相关文章:

android - 如何从 Intent 启动 ListActivity?

android - 推特:无法获取请求 token

android - 让 Activity 始终在堆栈顶部,还是在恶意应用启动 Activity 时保持焦点?

html - 删除导航栏两侧和顶部的空白

c - 位填充 (C)

CSS 高度和填充无法正常工作

javascript - 进度条元素破坏 Chrome 渲染(除非开发工具打开)

Android:将 ACTION_PICK_ACTIVITY 与 AppWidget 结合使用来确定在按下时打开哪个应用程序

java - Swing 中的旋转轮

java - Java中获取HTTPRequest的进度