【问题标题】:Android button background selectorAndroid 按钮背景选择器
【发布时间】:2012-08-08 14:23:32
【问题描述】:

我想为按钮使用以下选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/jobs" android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="5dp" />
        </shape>
<scale android:scaleHeight="90%" android:scaleWidth="90%" />
    </item>
    <item android:drawable="@drawable/jobs"></item>

</selector>

但它不起作用。 我想用相同的drawable使按钮的角变圆并缩小10%。实际上,我想使用单个可绘制对象来提供按钮按下效果。有可能吗?

【问题讨论】:

    标签: android button selector


    【解决方案1】:

    我发现最好将状态逻辑和可绘制代码分开。来自 Android 文档:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
              android:drawable="@drawable/button_pressed" /> <!-- pressed -->
        <item android:state_focused="true"
              android:drawable="@drawable/button_focused" /> <!-- focused -->
        <item android:state_hovered="true"
              android:drawable="@drawable/button_focused" /> <!-- hovered -->
        <item android:drawable="@drawable/button_normal" /> <!-- default -->
    </selector>
    

    然后,我会将用于圆角的代码放入单独的可绘制 XML 中。我不确定您是否可以直接在 selector 中执行此类操作。

    【讨论】:

      猜你喜欢
      • 2011-11-12
      • 2019-07-28
      • 2012-07-03
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      相关资源
      最近更新 更多