• Android群英传 QuickNote


    自定义View

    文末附源码地址

    1.滑动时onTouchEvent的调用过程 - Log说明一切!

    //截取了部分LOG信息
    04-27 09:02:23.607 12110-12110/com.hero D/123: onTouchEvent 04-27 09:02:23.607 12110-12110/com.hero I/123: ACTION_DOWN   //可见,DOWN只执行了一次,DOWN在break之后,
                                           //再重新走onTouchEvent方法,并开始进入MOVE方法;
                                           //MOVE中重复执行:MOVE-》break-》onTouchEvent-》MOVE。                    
    04-27
    09:02:23.651 12110-12110/com.hero D/123: onTouchEvent 04-27 09:02:23.652 12110-12110/com.hero V/123: ACTION_MOVE... 04-27 09:02:23.652 12110-12110/com.hero E/123: 0 --- 0 //这个是做的offset偏移量,下面的scroll会用到 04-27 09:02:23.668 12110-12110/com.hero D/123: onTouchEvent 04-27 09:02:23.668 12110-12110/com.hero V/123: ACTION_MOVE... 04-27 09:02:23.668 12110-12110/com.hero E/123: 0 --- 0 04-27 09:02:23.684 12110-12110/com.hero D/123: onTouchEvent 04-27 09:02:23.684 12110-12110/com.hero V/123: ACTION_MOVE... 04-27 09:02:23.684 12110-12110/com.hero E/123: 0 --- 0 04-27 09:02:23.701 12110-12110/com.hero D/123: onTouchEvent 04-27 09:02:23.701 12110-12110/com.hero V/123: ACTION_MOVE... 04-27 09:02:23.701 12110-12110/com.hero E/123: 0 --- 0 04-27 09:02:23.718 12110-12110/com.hero D/123: onTouchEvent

    2.scrollTo与scrollBy  -  核心一句话“左加右减,上加下减”

    摘要

    • scrollBy是内部就是调用的scrollTo方法:scrollTo(mScrollX + x, mScrollY + y);   ;
    • scrollTo、scrollBy方法移动的是View的content,即让View的内容移动;如果在ViewGroup中使用scrollBy、scrollTo方法,那么移动的是该ViewGroup中所有的子View,但如果在View中使用,那么移动的将是View的内容。例如:TextView,content就是他的文本,ImageView,content就是它的drawable对象。
     MyView内部调用:
    ((View) getParent()).scrollBy(offsetX, offsetY);
     外部调用:
    ((View) myView.getParent()).scrollBy(offsetX, offsetY);

    相当于MyView的content上有一层带眼儿的盖板(MyView本身),当调用scrollTo、scrollBy方法时,移动的是盖板。

    • scrollTo、scrollBy 向右或向下移动是负值,向上或向左移动传正值;

    mScrollX与mScrollY

    • mScrollX 表示的是view的左边缘到view的内容的左边缘的水平距离,类似的,mScrollY表示的是view的上边缘与view内容的上边缘的竖直方向的距离;
    • 二者分别通过getScrollX() 和getScrollY()方法获得;
    • mScrollX和mScrollY指的并不是坐标,而是偏移量(距离)。

    参考:android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明

         Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明

    3.Scroller

                               

    参考:Android Scroller与computeScroll的调用机制关系

    源码地址

    https://github.com/javakam/AndroidHeros

  • 相关阅读:
    内存缓存 原理 实现
    ssh 内在溢出
    android 解析XML方式(三)
    android 解析XML方式(二)
    android 解析XML方式(一)
    (三)、
    (二)、SSL证书
    (一)、http原理
    httpsClient实例
    飞信免费发送接口API的测试 httpClient
  • 原文地址:https://www.cnblogs.com/jooy/p/8953076.html
Copyright © 2020-2023  润新知