繁体   English   中英

Android XML ImageView更改图像

[英]Android XML ImageView changing Image

我正在尝试一些功能,并且基本上是在学习东西,但我不知道为什么这不起作用。 我的意思是,当我第一次触摸图像时,图像更改为R.drawable.buttondown,但是随后当我移动手指或释放手指时,其他情况将不起作用,并且图像也不再更改。 你能告诉我为什么吗?

    icon = (ImageView)findViewById(R.id.imageView1);

    icon.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            switch (event.getAction()){
            case MotionEvent.ACTION_DOWN:
                icon.setImageResource(R.drawable.buttondown);
                break;
            case MotionEvent.ACTION_UP:
                icon.setImageResource(R.drawable.ic_launcher);
                break;
            case MotionEvent.ACTION_MOVE:
                icon.setImageResource(R.drawable.abc_ab_bottom_transparent_dark_holo);
                break;
            }
            return false;
    }

您需要返回true来通知android您已经消耗了该事件。

public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction()){
        case MotionEvent.ACTION_DOWN:
            icon.setImageResource(R.drawable.buttondown);
            break;
        case MotionEvent.ACTION_UP:
            icon.setImageResource(R.drawable.ic_launcher);
            break;
        case MotionEvent.ACTION_MOVE:
            icon.setImageResource(R.drawable.abc_ab_bottom_transparent_dark_holo);
            break;
        }
        return true;
}

从文档:

如果侦听器已消耗事件,则为true,否则为false。

如果返回true,则表示您刚刚使用了此事件,并且对其他事件感兴趣。 如果返回false,则将保留ACTION_DOWN,因为未使用该事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM