我为我的按钮背景准备了两个图形。我有一个放在xml文件中的“android:background”,我不知道如何在点击后将这个图像更改为另一个图像一段时间。
我尝试使用OnHoverListener和OnClickListener执行此操作,但它不起作用
Button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Button.setBackground(getResources().getDrawable(
R.drawable.img_hovered));
Button.setBackground(getResources().getDrawable(R.drawable.img));
}
});
答案 0 :(得分:1)
看看以下是否符合您的要求。该代码假定R.drawable.img
是原始背景。单击Button
后,背景将更改为R.drawable.img_hovered
0.5秒。然后它又恢复为R.drawable.img
:
Button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button.setBackground(getResources().getDrawable(
R.drawable.img_hovered));
new Handler().postDelayed(new Runnable() {
public void run() {
Button.setBackground(getResources().getDrawable(R.drawable.img));
// Button Click Code Here
}
}, 500L); // 0.5 Seconds
}
});
答案 1 :(得分:1)
如果你想让它成为可点击按钮,那么在drawable文件夹中创建一个选择器xml并复制到代码下面。
让其名称为app_click.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/yourimage_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/yourimage_unpressed"/>
</selector>
然后将此选择器用于按钮Selector
。
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/app_click" />