如何在Android中设计微调器

Muk*_*arg 8 android android-ui android-layout android-spinner

我想设计一个微调器,如下图所示:

在此输入图像描述

我没有在旋转器中得到指向下方的箭头符号.我怎样才能做到这一点?

如果我做了如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,就像Spinner没有的那样android:drawableRight="@drawable/arraodown",但是在按钮中我们有这个方法.

小智 11

不要乱用右/左/ ... drawables.

只需将一个9-patch drawable设置为限制内部内容的背景.

<Spinner
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/you_spinner_drawable" />
Run Code Online (Sandbox Code Playgroud)

关于9-patch drawable,请看一下android资源,或者在这个博客文章中拍摄的这张照片(更详细地展示了如何制作自定义微调器):

微调器drawables的例子

有关9-patch drawables的信息,请参阅android文档:http : //developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch http://developer.android.com/tools/help /draw9patch.html

当然,您也可以将状态列表xml文件指定为drawable,例如.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When disabled -->
    <item android:state_enabled="false"
        android:drawable="@drawable/your_disabled_spinner_drawable" />
    <!-- When selected -->
    <item android:state_pressed="true"
        android:drawable="@drawable/your_selected_spinner_drawable" />
    <!-- When not selected-->
    <item
        android:drawable="@drawable/your_default_spinner_drawable" />
</selector>
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList