我正在尝试为我的微调器提供自定义背景。我已经使用9补丁格式下载了HTC sense spinner设计(见下图)。
我创建了一个新的XML文件,其中包含以下代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/spinner_pressed" />
<item
android:drawable="@drawable/spinner_normal" />
</selector>
我已经使用以下代码在我的布局中添加了一个微调器:
<Spinner
android:id="@+id/my_spinner"
android:layout_width="180dp"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:background="@drawable/custom_spinner" />
但是在正确显示的同时,我得到了以下格式:
我做错了吗?
我希望你能帮助我。
问候。
诉P>
答案 0 :(得分:0)
你的9补丁上定义的可伸展区域似乎是错误的,这就是为什么你的9补丁像这样被拉伸的原因。看看Nine-patch docs并注意左边框定义应拉伸的区域。我想如果你想让“箭头”居中,你还应该在“箭头”下面定义一个可伸缩区域。
如果您不知道如何编辑9补丁,则应使用draw9patch,它会包含在AndroidSDK/tools
中。