我有一个按钮和两个图像,我希望按钮的默认图像为 btn1.jpg 并且当单击按钮时,图像应立即更改为 btn2.jpg 并且在 3 秒 之后,它应该再次恢复为 btn1.jpg。请告诉我如何实现这一目标?
package com.example.btn;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
private View ButtonName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void yolo(View v) {
switch (v.getId()) {
case R.id.buttonName:
ButtonName.setBackgroundResource(R.drawable.btn2);
//Disable click on Button
ButtonName.setEnabled(false);
try {
Thread.sleep(3000);
}
catch (Exception e) {
e.printStackTrace();
}
ButtonName.setBackground(getResources().getDrawable(R.drawable.btn1));
break;
case default:
ButtonName.setBackgroundResource(R.drawable.btn1);
}
}
}
最佳答案
您必须将 OnClick 方法中的按钮背景图像更改为 btn2.jpg。之后,您必须启动计时器倒计时 3 秒,然后再次将按钮图像更改为 btn1.jpg
private final int interval = 3000;
private Handler handler = new Handler();
private Runnable runnable
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
btn.setBackground(getResources().getDrawable(R.drawable.btn2))
//Start runnable after 3 seconds
handler.postDelayed(runnable, interval);
}
});
runnable = new Runnable(){
public void run() {
btn.setBackground(getResources().getDrawable(R.drawable.btn1))
}
};
关于android - 更改按钮图像onClick android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584541/