禁用时默认的搜索栏行为是保持thumb
可见并删除进度色。我想翻转它,而是移开拇指并保留进度颜色(尽管我想更改颜色值)。
我认为我可以只对thumbTint
和progressTint
使用ColorStateLists,但这没有用。使拇指透明会在栏中留下一个怪异的间隙,progressTint
的禁用颜色始终会被忽略。
当前启用状态:
当前禁用状态:
所需的禁用状态:
布局:
<SeekBar
style="@style/Zero.Seekbar.Green"
android:id="@+id/sb_range"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_range_value"
android:progress="140"
android:max="200"
android:enabled="@{viewModel.rangeEnabled}"
/>
styles.xml:
<!-- SeekBar-->
<style name="Zero.Seekbar" parent="Zero">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingTop">4dp</item>
<item name="android:paddingBottom">8dp</item>
<item name="android:paddingStart">@dimen/gutter_width</item>
<item name="android:paddingEnd">@dimen/gutter_width</item>
<item name="android:progressTint">@color/zero_orange</item>
<item name="android:progressBackgroundTint">@color/zero_gray_header</item>
<item name="android:thumb">@drawable/slider_thumb_ride_mode</item>
<item name="layout_constraintTop_toTopOf">parent</item>
<item name="layout_constraintBottom_toBottomOf">parent</item>
<item name="layout_constraintStart_toStartOf">parent</item>
</style>
<style name="Zero.Seekbar.Green" parent="Zero.Seekbar">
<item name="android:progressTint">@color/color_seekbar_green</item>
<item name="android:thumbTint">@color/transparent</item>
</style>
color_seekbar_green.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:color="@color/zero_green" />
<item android:state_enabled="false"
android:color="@color/zero_yellow" />
</selector>
答案 0 :(得分:0)
您可以直接使用ProgressBar代替