在拇指右侧填写进度

Fill progress to the right of thumb

我希望能够在不影响拇指左侧填充的情况下填充右侧区域

我的进步XML

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <size android:height="90dp"/>
                <stroke android:width="2dp" android:color="#00ef3c"/>
                <solid android:color="#00ffffff" />
            </shape>
        </clip>
    </item>
    <item android:id="@+id/background">
        <clip>
            <shape>
                <size android:height="90dp"/>
                <solid android:color="#bd767676" />
            </shape>
        </clip>
    </item>
</layer-list>

自定义搜索栏样式

<style name="SeekbarCustom">
    <item name="android:indeterminate">false</item>
    <item name="android:progressDrawable">@drawable/video_seek_bar_progress</item>
    <item name="android:thumb">@drawable/video_seek_bar_thumb</item>
    <item name="android:thumbOffset">8px</item>
    <item name="android:focusable">true</item>
</style>

所以我终于解决了。不知道这是否是最佳解决方案。但它会做

我所做的是让 SecondaryProgress 属性充当填充符。然后我将其重力设置为从右侧开始。然后我创建了一个监听器来改变它的进度。

倾听者

binding.fragmentPostVideoSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
  @Override
  public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
    int progress = seekBar.getProgress();
    seekBar.setSecondaryProgress(100 - progress);
  }
});

XML 可绘制

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <size android:height="90dp"/>
                <stroke
                  android:width="2dp"
                  android:color="#00ef3c"/>
                <solid android:color="#00ffffff"/>
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip android:gravity="right">
            <shape>
                <size android:height="90dp"/>
                <solid android:color="#b7797979"/>
            </shape>
        </clip>
    </item>
</layer-list>