首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓onTouch监听器背景颜色变化

安卓onTouch监听器背景颜色变化
EN

Stack Overflow用户
提问于 2013-04-10 01:15:28
回答 1查看 1.6K关注 0票数 2

我使用onTouchListener在用户手指按下时更改背景颜色,并在用户手指向上时更改回默认颜色。问题是,当用户的手指按下时,背景颜色会发生变化,但如果用户不抬起手指并开始滚动,背景颜色不会更改为默认值。请帮帮忙。

下面是我的代码:

代码语言:javascript
复制
    V.setOnTouchListener(new OnTouchListener() {
    @Override
       public boolean onTouch(View v, MotionEvent event) {
           switch(event.getAction()) {
               case MotionEvent.ACTION_DOWN:
                    V.setBackgroundColor(Color.BLUE);
                    break;
               case MotionEvent.ACTION_UP:
                    V.setBackgroundColor(Color.BLACK);
                    break;
           }
        return true;
      }
   });

我也尝试返回false,但结果是相同的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 02:18:56

您可以使用几种不同的方法。您可以查看MotionEvent.ACTION_MOVE,并在您的onTouch中收到它时采取行动。你可以查看MotionEvent.ACTION_OUTSIDE,看看他们是否已经离开了你正在检查的区域。

您还可以将侦听器放在滚动视图上,并在它移动时更改背景。Synchronise ScrollView scroll positions - android

或者,您可以使用gestureListener来检测这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15908274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档