9

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

在此处输入图像描述

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

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

4

4 回答 4

11

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

只需将一个 9-patch 可绘制对象设置为限制内部内容的背景。

<Spinner
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/you_spinner_drawable" />

关于 9-patch drawable,请查看 android 资源或取自此博客文章的示例图片(其中详细介绍了如何制作自定义微调器):

微调器可绘制示例

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

当然,您也可以指定一个状态列表 xml 文件作为可绘制文件,例如。

<?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>

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

于 2013-08-07T17:22:33.753 回答
3
<Spinner
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/you_spinner_drawable" />

**You can use the below mentioned Drawable to set as background for this spinner**.

<?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>
于 2015-04-22T07:10:23.613 回答
1

您必须为微调器创建自定义布局。我认为以下XML可能会给您一个想法。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="3dip">

    <TextView
        android:id="@+id/number"
        android:padding="3dip"
        android:layout_marginTop="2dip"
        android:layout_marginLeft="5dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>
于 2013-08-07T16:04:16.457 回答
0

Just use GIMP as your image editor and change background color and border with a color you like.

For example, I did this image by editing an existing one I found on the Internet: http://sdrv.ms/1lRkTbG

于 2014-01-12T20:26:22.417 回答