状态按钮选择器android

Posted

技术标签:

【中文标题】状态按钮选择器android【英文标题】:State button selector android 【发布时间】:2015-07-29 23:42:09 【问题描述】:

我需要使用一个状态的按钮选择器。我已阅读有关此主题的互联网上的一些artcicles,但它仍然无法正常工作。 P>

按钮的代码(从布局):

<Button
    android:id="@+id/btn_shoot"
    android:layout_
    android:layout_
    android:layout_column="0"
    android:layout_gravity="left|bottom"
    android:layout_row="2"
    android:background="@drawable/button_style"/>

选择代码(绘制):

<?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_default" />
</selector>

感谢对您的期货的答案。 P>

【问题讨论】:

【参考方案1】:

你可以试试这个教程。

http://www.mkyong.com/android/android-imagebutton-selector-example/

为按钮状态准备 3 张图片,并将其放入“resource/drawable”文件夹中。

button_normal_green.png – 默认图片按钮。 button_focused_orange.png – 当按钮获得焦点时显示,例如 例如,当手机的键盘在此按钮上移动(聚焦)时。 button_pressed_yellow.png – 按下按钮时显示。

现在,在“res/drawable/”文件夹中创建一个新的 XML 文件,使用您想要的任何名称,在这种情况下,我们只需将名称命名为“new_button.xml”。该文件定义了哪个按钮状态属于哪个图像。

现在,您可以通过此 ID 引用此按钮:@drawable/new_button。

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

打开“res/layout/main.xml”文件,添加一个普通按钮,并通过“android:background="@drawable/new_button”将背景图片附加到“new_button”上方。

您也可以使用一些形状来代替图像。为三种不同的按钮状态创建三种不同的形状。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
    android:radius="14dp"/>
<gradient
    android:angle="45"
    android:centerX="35%"
    android:centerColor="#7995A8"
    android:startColor="#E8E8E8"
    android:endColor="#000000"
    android:type="linear"/>
<padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"/>
<size
    android:
    android:/>
<stroke
    android:
    android:color="#878787"/>
</shape> 

希望对你有帮助

【讨论】:

我按照这个教程做了,但是还是不行。 我可以知道你有什么尝试,以便我可以帮助你。 我使用我在问题中写的解决方案、您的解决方案以及在互联网上找到的许多其他解决方案。但是选择器中的按下状态总是被忽略。我尝试以编程方式执行此操作,效果很好。但是当您按下按钮并将手指滑出按钮时(您仍然按下屏幕),手机保持按下状态。

以上是关于状态按钮选择器android的主要内容,如果未能解决你的问题,请参考以下文章

Android——图片视图(ImageView)状态开关按钮(ToggleButton)时钟图片透明度滚动和时间选择器

Android选择器Select

Android selector选择器的使用

为按钮生成选择器 xml 的 Android 工具

选择日期后,日期选择器应在 android 中关闭,而无需单击确定按钮

如何在android中为不同颜色的按钮重用选择器?