状态按钮选择器android

时间:2015-05-18 12:51:06

标签: android xml button

我需要使用状态按钮选择器。我已经在互联网上阅读了关于这个主题的一些分册,但它仍然无效。

按钮代码(来自布局):

<Button
    android:id="@+id/btn_shoot"
    android:layout_width="80dp"
    android:layout_height="80dp"
    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>

感谢您的期货答案。

1 个答案:

答案 0 :(得分:0)

您可以尝试本教程。

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

为按钮状态准备3张图像,并将其放入“资源/可绘制”文件夹中。

  • 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 =&#34; @ 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:width="270dp"
    android:height="60dp"/>
<stroke
    android:width="3dp"
    android:color="#878787"/>
</shape> 

我希望这会有所帮助