Mat*_*ris 9 android android-xml android-spinner
我希望我Spinner的左边有白色文字的黑色渐变背景和右边的选择器图标(白色向下指向的三角形).我认为有两种方法可以解决这个问题:
如果我将背景设置为xml可绘制资源,我可以让我Spinner看起来很完美,但是我需要以某种方式在右边添加白色三角形,我不知道如何去做:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#ffffff" />
<corners
android:radius="4dp" />
<padding
android:left="3dp"
android:top="3dp"
android:right="3dp"
android:bottom="3dp" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)我创建了一个包含三角形的9补丁图像,然后使用xml来圆角并为图像添加笔划.我已经去了,但无法使它工作:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/spinnerblack" >
<stroke
android:width="1dp"
android:color="#ffffff" />
<corners
android:radius="3dp" />
<padding
android:left="3dp"
android:top="3dp"
android:right="3dp"
android:bottom="3dp" />
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)有人可以告诉我我可以为方法1做什么或者我在方法2中做错了什么?我不想在我的9补丁图像中添加笔划和圆角,因为我认为它看起来不那么好.此外,我更喜欢方法1到方法2.任何帮助非常感谢.
Aar*_*otz 13
我在我的应用程序中做了类似于方法1的操作.基本上你需要将你的选择器与一个图层列表结合起来:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#ffffff" />
<corners
android:radius="4dp" />
<padding
android:left="3dp"
android:top="3dp"
android:right="3dp"
android:bottom="3dp" />
</shape>
</item>
<item
android:top="12dp"
android:right="15dp">
<bitmap android:src="@drawable/arrow_bitmap"
android:gravity="top|right" />
</item>
</layer-list>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
在我的xml中,我还添加了第三层,其中包含一个<shape>不可见的(即其alpha设置为0),但添加了填充.
| 归档时间: |
|
| 查看次数: |
18104 次 |
| 最近记录: |