• Android view层


    当屏幕可以装下内容的时候,他们的值相等,只有当view超出屏幕后,才能看出他们的区别:getMeasuredHeight()是实际View的大小,与屏幕无关,而getHeight的大小此时则是屏幕的大小。当超出屏幕后,getMeasuredHeight()等于getHeight()加上屏幕之外没有显示的大小。
    getHeight()是布局以后的屏幕高度
    动态改变布局大小的方法:
    LayoutParams lp = 控件ID.getLayoutParams();
    lp.height = 320;(单位是像素)
    控件ID.setLayoutParams(lp);
    使用控件ID.setLayoutParams(lp)之后,还需要添加控件ID.requestLayout();

    getMeasuredHeight : 表示的是view的实际大小。
    getHeight: 表示的是view在屏幕上显示的大小

    view 的left top  right bottom的坐标是相对于父亲容器的相对坐标。

    width = right -left;

    height = bottom - top;

    left = view. getLeft();

    right = view .getRight();

    top = view.getTop();

    bottom = view .getBottom();

    x y 是view 左上角的坐标,translationX  translationY代表view相对于原始坐标(left ,top,right,bottom)的偏移量。

    x = left + translationX   y = top + translationY   在view的平移过程中,原始坐标(left ,top,right,bottom)不会改变,改变的是,x,y,translationX,translationY。

    motionEvent e.getX()  e.getY()返回的是相对于 点击view左上角的xy坐标,e.getRawX()  e.getRawY()返回的是相对于手机屏幕左上角的坐标。

    velocityTracker在使用之前要设置计算时间,使用完之后要回收velocitytracker资源,(类似的用法类似)

    mSrollX   mSrollY  单位是像素,只改变view 内容的位置不改变view本身在布局的位置,

    mSrollX = view左边 - view 内容的左边  mSrollY = view上边 - view 内容上边(在view 的坐标系里

    srollTo scrollBy 适用于对view 内容的滑动;动画适用于没有交互的view,复杂的动画效果;layoutparam 改变布局参数,操作复杂,但是适用于有交互的view。

    点击事件分发过程由 dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent三个函数完成。

    如果事件能传递到当前view,一定会调用dispatchTouchEvent方法

    点击事件首先传递到根view group,它的dispatchTouchEvent就会被调用,如果此viewgroup 的 onInterceptTouchEvent方法返回true(表示要拦截当前事件),接着事件就会交给这个viewGroup来处理,即onTouchEvent方法会被调用。 如果onInterceptTouchEvent返回false表示不拦截当前事件,此事件就会继续传递到它的子元素,接着子元素的dispatchTouchEvent方法就会被调用,如此反复直至事件被最终处理。

  • 相关阅读:
    PHP为fopen,file_get_contents等函数请求web地址时增加Http头的方法
    php一些技术要点连接地址
    PHP之open_ssl
    加密解密知识 php非对称加密
    python摸爬滚打之day17----类与类之间的关系
    python摸爬滚打之day16----类的成员
    python摸爬滚打之day15----初识类
    python摸爬滚打之day14----内置函数,递归函数
    python摸爬滚打之day12----生成器, 各种生成式
    python摸爬滚打之day11----函数闭包,迭代器
  • 原文地址:https://www.cnblogs.com/polo/p/9945376.html
Copyright © 2020-2023  润新知