我实现了一个ImageButton。一切顺利,除非我按下它,它不会“闪烁”,然后继续(到另一个活动)。 Android是否具有ImageButton的内在“闪存”,或者我必须在onClickEvent中明确地编写/动画?或使用选择器?
提前感谢您的帮助。
答案 0 :(得分:2)
如果你让你的ImageButton保持其背景并且不将其设置为null,它将像普通按钮一样闪烁,并且在点击时会闪烁,就像其他按钮一样。隐藏背景的方式仍在那里:
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:paddingTop="1dp"
android:src="@drawable/squareicon" />
填充不会让背景可见,并使按钮像其他按钮一样。
答案 1 :(得分:1)
如果您有正常按钮的图像和按下状态的一个图像,则应使用选择器。我认为这是最简单的方法。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize=["true" | "false"]
android:dither=["true" | "false"]
android:variablePadding=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>
答案 2 :(得分:0)
答案 3 :(得分:0)
结束以编程方式执行它,因为我在使用“选择器”时遇到问题,Eclipse抱怨“无法解析文件”。
public void flashBtn (final ImageButton myBtnToFlash){
myBtnToFlash.setBackgroundResource(R.drawable.glossy_button_green_rectangle);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
myBtnToFlash.setBackgroundResource(0);
}
}, 50);
}
答案 4 :(得分:0)
对于ImageButtons,您不应该设置它的背景。将图像设置为“src”,然后ImageButton仍将具有默认的闪烁属性。
在这里,我想,你正在为你的ImageButton设置背景,我认为这不是必需的。