zoukankan      html  css  js  c++  java
  • (备忘)自定义viewgroup与点击分发事件

    public class ScoreButton extends ViewGroup

    在类中重写onTouchEvent方法

    @Override
    public boolean onTouchEvent(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    Log.i("aaa","action_down");
    setState(state.PRESSED);
    break;
    case MotionEvent.ACTION_UP:
    Log.i("aaa","action_up");
    setState(state.RUNNING);
    mMoveCircle.startAnimation(animation);
    break;
    }

    发现ACTION_UP事件从来不执行

    解决办法:在调用此控件的MainActivity中拿到此控件的对象,并且

    给它设置一个onclicklistener(传入null也可以)

    scoreButton.setOnClickListener(null);

    这样就可以监听到ACTION_UP事件了(以及ACTION_MOVE等)

    ======================================

    在相对布局或者帧布局文件中,通常写在下面的控件后渲染,所以显示在最顶层

    但是就算是写到上面导致被遮住了,只要遮住它的控件不拦截点击事件,它仍能响应点击事件(虽然看不到)

  • 相关阅读:
    消息中间件
    线程以及多线程
    锁以及分布式锁
    并发以及高并发
    SpringBoot + SpringCloud学习踩坑实记
    公众号笔记: 2018年12月
    浅谈final关键字的用法
    浅谈static关键字的四种用法
    Linux常用的一些命令
    HTTPS
  • 原文地址:https://www.cnblogs.com/BlogCommunicator/p/4931364.html
Copyright © 2011-2022 走看看