android - 如何检测点击事件是否在android中完成?

标签 android event-handling touch onclicklistener android-event

我动态创建 View ,我正常处理它们的点击事件,像这样:

myView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                v.setBackgroundColor(0xaaffffff);


            }
        });

但是这段代码没有处理 onRelease 事件,所以点击后 View 仍然是白色背景。

那么如何在点击状态结束时将背景设置为另一个值呢?

提前致谢!

编辑:

OnTouchListener 做完全相同的事情。我想我需要类似 onReleaseListener 的东西?

最佳答案

为此你需要使用一个onTouchListener => documentation

引用这个tutorial关于如何使用它。

例子:

myView.setOnTouchListener(
        new View.OnTouchListener() {
        public boolean onTouch(View myView, MotionEvent event) {
            int action = event.getAction();
            if (action==MotionEvent.ACTION_MOVE)
            {
                myView.setBackgroundColor(Color.BLUE);
            }
            if (action==MotionEvent.ACTION_UP)
            {
                myView.setBackgroundColor(Color.RED);
            }
            if (action==MotionEvent.ACTION_DOWN)
            {
                myView.setBackgroundColor(Color.YELLOW);
            }
            // TODO Auto-generated method stub
            return true;
        }
    }    

关于android - 如何检测点击事件是否在android中完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931942/

相关文章:

java - jTidy 在整理 HTML 后不返回任何内容

java - 为什么在匿名类中只能访问最终变量?

Swift SpriteKit 使用 Sprite 纹理中的 SKPhysicsBody 在 SKSpriteNode 上检测 TouchesBegan

php - Linux 命令从 php 脚本输出填充文件

lambda - 如何删除使用 lambda 创建的 JavaFX 中的 EventFilter

ios - 当我在 iPad 屏幕上触摸时如何获取 PDF 注释

android - 无法在 WebView 中播放音频标签 : Android Lollipop

php - 捕获来自CCTV或移动摄像机的视频

android - 在 Kotlin 中无法使用 Smart Cast

c# - 如何在 C# 中跟踪事件的订阅者?