我试图让我的微调器的背景颜色变白。这是我想要对微调器进行的唯一更改,但我看到的每个解决方案要么需要制作自定义微调器,更改样式,要么只需更改其他一些长而过于复杂的过程来改变颜色。有没有办法轻松改变颜色。我很喜欢创建drawable并将其设置为背景的方法。我在下面找到的解决方案适用于api> = 23但是我需要一个最小值为19的东西。有一个简单的方法还是我必须创建一个自定义微调器来改变颜色?这就是我想让它看起来像。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/splashColor" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
<layer-list>
<item android:width="12dp" android:height="12dp" android:gravity="center" android:bottom="11dp">
<rotate android:fromDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#000000" />
<stroke android:color="#aaaaaa" android:width="1dp"/>
</shape>
</rotate>
</item>
<item android:width="30dp" android:height="10dp" android:bottom="21dp" android:gravity="center">
<shape android:shape="rectangle">
<solid android:color="@color/splashColor"/>
</shape>
</item>
</layer-list>
</item>
</layer-list>
使用不设置宽度/高度的简化版本(需要&gt; = 23)如下所示
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
<item>
<bitmap
android:gravity="end"
android:src="@drawable/arrow_dropdown" />
</item>
</layer-list>
但它会使高度太大,使整个屏幕显得偏离。我不知道改变高度前23的方法
答案 0 :(得分:1)
您可以为其设置主题属性。
使用自定义命名空间并进行设置。
实施例。
<ProgressBar
....
app:theme="@style/custom_style"
/>
其中custom_style在样式目录中定义为:
<style name="custom_style" parent="Theme.AppCompat">
<item name="colorControlNormal"><!--this color is not of importance --></item>
<item name="colorControlActivated">#FFFFFF</item>
</style>
将白色添加到进度条颜色。适用于评级栏。假设也应该为progressbars工作。
答案 1 :(得分:0)
最后我使用了第二种方法,只需手动设置微调器的高度。这是spinner代码最终的样子。
<Spinner
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="@drawable/custom_spinner"
android:id="@+id/type" />
custom_spinner
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
<item>
<bitmap
android:gravity="end"
android:src="@drawable/arrow_dropdown" />
</item>
</layer-list>