android - 更改按钮图像onClick android

标签 android button

我有一个按钮和两个图像,我希望按钮的默认图像为 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/

相关文章:

ios - 单击按钮不播放音频

c# - Xamarin 使用 FontAwesome 创建自定义按钮

java - 如何为聊天应用程序创建 RecyclerView 适配器?

JavaScript 在点击时生成新的输入字段

android - 如何在同一个 onclicklistener 中连接多个按钮?

android - 如何编译 Dalvik 以在 Linux 上本地运行它?

javascript - 动态启用按钮

android - 有什么方法可以找出是什么阻止了我的应用程序的互联网访问?

android - 在 android 库模块中调用 Activity

android - LiveData(MutableLiveData) 和 Databinding 上升错误(无法调用观察者方法)