240 发简信
IP属地:黑龙江
  • 120
    不到600行纯代码实现带动画十多种样式Dialog

    SuperDialog 一个类文件不到600行纯代码实现多功能Dialog,list、image、input输入框、Progress自定义View和可变参数button数量欢...

  • 120
    Android组件化——SXRecyclerView

    简介 前段时间封装了一个RecyclerView相关的库,叫做SXRecyclerView。该库包含了很多常用的功能,包括触摸反馈效果、点击事件、长按事件、多选功能、Head...

  • 评论比正文精彩

    Android 全局 Dialog 显示

    在开发中,部分场景下可能需要在任意的界面上弹出一个 dialog ,像 qq 下线通知。 实现思路如下: 思路就是通过非 Activity 的 Context 引用来启动一个...

  • 120
    Android自定义View系列(二)——打造一个仿2K游戏摇杆

    写作原因:Android进阶过程中有一个绕不开的话题——自定义View。这一块是安卓程序员更好地实现功能自主化必须迈出的一步。下面这个系列博主将通过实现几个例子来认识安卓自定...

  • 虽然很多人点赞,我觉得是又臭又长,你花大篇幅整理了怎么分发 却没有点明为什么会这样。很多新人估计看一遍觉得不错,实战或者去面试,依然啥都记不住不知道,也不知道为什么。说到底还是个返回值传递的问题。相互是个什么干扰,你列举这么多情况反而是一种记忆负担。

    我举例ViewGroup的dispatchTouchEvent你如果点明 内部是

    ViewGroup
    View[] views=getChildView();
    for(int i=0;i<views.length;i++){
    //判断下Touch到屏幕上的点在该子View上面
    if(...){
    if(views[i].dispatchTouchEvent(ev))
    return true;
    }
    }

    view的内部dispatchTouchEvent其实就是自己的onTouchEvent
    View
    public boolean dispatchTouchEvent(MotionEvent ev){
    ....//其他处理,在此不管 return onTouchEvent(event);
    }
    这就不容易解释为什么不拦截的情况下,就是子不要父才能要 只要一个子要,就不继续往下执行,父就不能要的吗 因为直接return了 循环终止了。