我已经准备了两个图形作为我的按钮的背景。我有一个放在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));
}
});
如果你想让它成为可点击的按钮,那么在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>
然后将此选择器用于您的按钮CCD_ 1。
像这个
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/app_click" />
查看以下内容是否符合您的要求。该代码假定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
}
});