[英]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.