更改img资源android的问题

时间:2015-04-13 16:24:57

标签: java android

当我按下并释放时,当我尝试更改图像(按钮)的源/资源时遇到此问题。

        Btn.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            /*if(event.getAction() == MotionEvent.ACTION_DOWN) {
                ImageBtn.setImageResource(R.drawable.btn1);
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                ImageBtn.setImageResource(R.drawable.btn0);
            }*/

            switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    ImageBtn.setBackgroundResource(R.drawable.btn1);
                    return true; // if you want to handle the touch event
                case MotionEvent.ACTION_UP:
                    ImageBtn.setBackgroundResource(R.drawable.btn1);
                    return true; // if you want to handle the touch event
            }
            return false;
        }
    });

这是代码,我也尝试了评论中的内容,但没有结果。我不得不提到按钮在触摸时会改变其资源,但在释放之后,它不会改变。

按钮侦听器位于相对布局上(也定义为xml代码中的相对布局),但在java中定义为按钮。

1 个答案:

答案 0 :(得分:0)

按钮的图像不会从触摸时更改为释放时的图像,因为您正在设置相同的背景资源。

两种情况都包含:

ImageBtn.setBackgroundResource(R.drawable.btn1);

将其中一个设置为不同的图像。