繁体   English   中英

更改图像按钮

[英]Change image button on hold

我想要保留图像按钮的图像并在发布时将其更改回来。 以下是我编辑此代码的主要代码帮助。 xml代码:

<ImageButton
                android:layout_width="62dp"
                android:layout_weight="1"
                android:layout_height="60dp"
                android:id="@+id/im1"
                android:layout_gravity="fill_horizontal"
                android:src="@drawable/off1"/>

和java代码:

im1 = (ImageButton) findViewById(R.id.im1);
        im1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
          //some codes
          }
        });

您只需在布局文件中设置按钮选择器即可。

<Button
     android:id="@+id/button1"
     android:background="@drawable/selector_xml_name"
     android:layout_width="200dp"
     android:layout_height="126dp"
     android:text="Hello" />

并做了。

编辑

以下是drawable目录中的button_effect.xml文件

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

    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_normal"></item>

</selector>

在这里,你可以看到有3个drawable,你只需要将这个button_effect样式放在你的按钮上,就像我上面写的那样。 您只需要将selector_xml_name替换为button_effect。

是的你必须使用选择器。 你可以使用TogggleButton并使其成为android:checked = "true"并将背景设置为@drawable/selector然后仅在hodiing上释放它将改变其状态。 toggle_button_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/image1_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/image2_pressed"
          android:state_checked="true" />
    <item android:drawable="@drawable/image1_pressed"
          android:state_checked="false" />
</selector>

然后在布局文件中

<ToggleButton
        android:id="@+id/btnToggle"
        android:layout_height="wrap_content"
        android:layout_marginTop="wrap_content"
        android:textOn=""
        android:textOff=""
        android:checked="true"
        android:background="@drawable/toggle_button_selector" />

你也可以用按钮做同样的事情。

像这样使用选择器并在按钮中应用这个drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/buttonbluepressed" />
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/buttonbluepressed" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/buttonbluepressed" />
    <item android:drawable="@drawable/buttonblue"/>
</selector>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM