如何创建一个更改其背景图像以表示其状态的按钮[重复]

Posted

技术标签:

【中文标题】如何创建一个更改其背景图像以表示其状态的按钮[重复]【英文标题】:How can I create a button that changes its background image to represent its states [duplicate] 【发布时间】:2015-01-28 06:55:56 【问题描述】:

如何创建一个按钮来更改其背景图像以表示默认、按下或聚焦状态?

【问题讨论】:

android button selector。请在再次询问相同的问题之前进行谷歌搜索。谢谢。 【参考方案1】:

使用选择器很容易做到。

在包含以下内容的drawable文件夹中创建一个新的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/drawable_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/drawable_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/drawable_default"></item>

</selector>

然后在您的 Button 中引用此选择器:

<Button
     android:id="@+id/button"
     android:background="@drawable/selector_you_just_made"
     android:layout_
     android:layout_
     android:text="Button" />

更多文档和其他可能的状态可以在here找到。

【讨论】:

【参考方案2】:

XML 可绘制:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/button_pressed"
              android:state_pressed="true" />
        <item android:drawable="@drawable/button_focused"
              android:state_focused="true" />
        <item android:drawable="@drawable/button_default" />
     </selector>

按钮:

<Button
    android:id="@+id/button_send"
    android:layout_
    android:layout_
    android:text="@string/button_send"
    android:onClick="sendMessage"
    android:background="@drawable/button_custom"  />

Here in section Custom background 更多信息

【讨论】:

非常感谢您的帮助@Petr Duchek

以上是关于如何创建一个更改其背景图像以表示其状态的按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章

设置 UIBarButtonItem 的背景图像以编程方式更改其大小

如何在 Interface Builder 中更改 UIButton 的背景图像并保留其形状?

更改导航栏后退按钮并删除标题以使其看起来像在 ios7 中

如何在 Swift 中 UITest 更改 UIButton 的图像?

在android中创建带圆角的按钮[重复]

在 safari 上预加载图像以更改背景图像 [重复]