显示 Android 微调器的箭头
Displaying the arrow of an Android spinner
我有一个微调器,其背景在可绘制文件中定义:
<style name="spinner_style" parent="android:Widget.Material.Light.Spinner">
<item name="android:background">@drawable/background_spinner</item>
</style>
风格:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/red" />
<corners android:radius="3dp" />
</shape>
问题是没有显示箭头。这是由于:<item name="android:background">@drawable/background_spinner</item>
.
我如何添加它,例如在可绘制文件中?
解法:
您应该为此定义一个 <layer-list>
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />
<stroke android:width="0.33dp" android:color="#0fb1fa" />
<corners android:radius="0dp" />
<padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
</shape>
</item>
<item android:right="5dp">
<bitmap android:gravity="center_vertical|right" android:src="@drawable/arrow_down_gray" />
</item>
</layer-list>
</item>
</selector>
然后,用您的箭头可绘制对象替换行:android:src="@drawable/arrow_down_gray"
。
最后,在微调器中将其应用为 style="@style/spinner_style"
。
说明:<layer-list>
信息可在此处找到:https://developer.android.com/guide/topics/resources/drawable-resource#LayerList 和 <bitmap>
用于在屏幕上绘制图像。我们选择可绘制图像并设置重力。
其他资深专家可能会为您提供更多信息。
希望对您有所帮助。
我有一个微调器,其背景在可绘制文件中定义:
<style name="spinner_style" parent="android:Widget.Material.Light.Spinner">
<item name="android:background">@drawable/background_spinner</item>
</style>
风格:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/red" />
<corners android:radius="3dp" />
</shape>
问题是没有显示箭头。这是由于:<item name="android:background">@drawable/background_spinner</item>
.
我如何添加它,例如在可绘制文件中?
解法:
您应该为此定义一个 <layer-list>
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />
<stroke android:width="0.33dp" android:color="#0fb1fa" />
<corners android:radius="0dp" />
<padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
</shape>
</item>
<item android:right="5dp">
<bitmap android:gravity="center_vertical|right" android:src="@drawable/arrow_down_gray" />
</item>
</layer-list>
</item>
</selector>
然后,用您的箭头可绘制对象替换行:android:src="@drawable/arrow_down_gray"
。
最后,在微调器中将其应用为 style="@style/spinner_style"
。
说明:<layer-list>
信息可在此处找到:https://developer.android.com/guide/topics/resources/drawable-resource#LayerList 和 <bitmap>
用于在屏幕上绘制图像。我们选择可绘制图像并设置重力。
其他资深专家可能会为您提供更多信息。
希望对您有所帮助。