Android 更改搜索栏颜色
Android change seekbar color
我的应用程序中有这个 SeekBar
:
<SeekBar
android:id="@+id/volume_seek_bar"
android:layout_width="match_parent"
android:layout_height="40dp"
android:theme="@style/Volume_Seekbar" />
这是样式文件:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/toolbar_background</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="ProgressBarStyle">
<item name="colorAccent">@color/colorPrimary</item>
</style>
<style name="Volume_Seekbar">
<item name="colorPrimary">@color/app_blue</item>
<item name="colorPrimaryDark">@color/toolbar_background</item>
<item name="colorAccent">@color/app_blue</item>
</style>
我想使用样式来更改 SeekBar
的颜色,但它一直采用 AppTheme
样式的颜色定义。知道问题出在哪里吗?
有了 SeekBar
你可以使用:
<SeekBar
android:theme="@style/MySeekBar"
/>
与:
<style name="MySeekBar">
<item name="android:progressBackgroundTint">@color/....</item>
<item name="android:progressTint">@color/...</item>
<item name="android:colorControlActivated">@color/....</item>
</style>
现在您还可以使用 Material 组件库提供的新 Slider
组件:
<com.google.android.material.slider.Slider
android:valueFrom="0"
android:valueTo="300"
android:value="200"
android:theme="@style/slider_red"
/>
您可以使用类似以下内容覆盖默认颜色:
<style name="slider_red">
<item name="colorPrimary">#......</item>
</style>
注意: Slider
需要 Material 组件的版本 1.2.0
。
我的应用程序中有这个 SeekBar
:
<SeekBar
android:id="@+id/volume_seek_bar"
android:layout_width="match_parent"
android:layout_height="40dp"
android:theme="@style/Volume_Seekbar" />
这是样式文件:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/toolbar_background</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="ProgressBarStyle">
<item name="colorAccent">@color/colorPrimary</item>
</style>
<style name="Volume_Seekbar">
<item name="colorPrimary">@color/app_blue</item>
<item name="colorPrimaryDark">@color/toolbar_background</item>
<item name="colorAccent">@color/app_blue</item>
</style>
我想使用样式来更改 SeekBar
的颜色,但它一直采用 AppTheme
样式的颜色定义。知道问题出在哪里吗?
有了 SeekBar
你可以使用:
<SeekBar
android:theme="@style/MySeekBar"
/>
与:
<style name="MySeekBar">
<item name="android:progressBackgroundTint">@color/....</item>
<item name="android:progressTint">@color/...</item>
<item name="android:colorControlActivated">@color/....</item>
</style>
现在您还可以使用 Material 组件库提供的新 Slider
组件:
<com.google.android.material.slider.Slider
android:valueFrom="0"
android:valueTo="300"
android:value="200"
android:theme="@style/slider_red"
/>
您可以使用类似以下内容覆盖默认颜色:
<style name="slider_red">
<item name="colorPrimary">#......</item>
</style>
注意: Slider
需要 Material 组件的版本 1.2.0
。