【问题标题】:Android - Issue with custom Spinner backgroundAndroid - 自定义微调器背景问题
【发布时间】:2012-04-03 20:30:58
【问题描述】:

我正在尝试为我的微调器提供自定义背景。我已经下载了 9 补丁格式的 HTC sense spinner design(参见下图)。

我创建了一个新的 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" />

但是在正确显示的同时,我得到了以下格式:

我是不是做错了什么?

我希望你能帮助我。

问候。

V.

【问题讨论】:

  • 请查看此链接:Spinner 我已经回答了类似的问题。希望对您有所帮助。
  • 有什么问题...?看起来不错..是高度还是什么不顺利...

标签: android layout spinner


【解决方案1】:

您的 9-patch 上定义的可拉伸区域似乎是错误的,这就是您的 9-patch 被这样拉伸的原因。查看Nine-patch docs 并注意左边框定义了应该拉伸的区域。如果您希望“箭头”居中,我认为您还应该在“箭头”下方定义一个可拉伸区域。

如果您不知道如何编辑 9-patch,您应该使用 draw9patch 它包含在 AndroidSDK/tools 中。

【讨论】:

  • 我已经修改了 9 个补丁图像,现在箭头居中。但是我的微调器仍然有一个奇怪的外观......
  • 解释“奇怪”,张贴图片。
  • 我的微调器(我的应用程序中的那个)看起来像第三个
  • 这就是 9 补丁的拉伸方式。您可以尝试不同的可拉伸区域,直到获得所需的结果,或者,您可能需要其他可拉伸区域来满足您的需求。
猜你喜欢
  • 2012-09-09
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多