我想设计一个微调器,如下图所示:
我没有在微调器中得到指向下方的箭头符号。我怎样才能做到这一点?
如果我做了一个如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,因为微调器没有android:drawableRight="@drawable/arraodown"
,但在按钮中我们有这个方法。
我想设计一个微调器,如下图所示:
我没有在微调器中得到指向下方的箭头符号。我怎样才能做到这一点?
如果我做了一个如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,因为微调器没有android:drawableRight="@drawable/arraodown"
,但在按钮中我们有这个方法。
不要乱用右/左/...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
<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>
您必须为微调器创建自定义布局。我认为以下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>
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