zoukankan      html  css  js  c++  java
  • android 开发 View _1_ View的子类们 和 视图坐标系图

    View的方法:

    除了以上图片的方法,view还有其他方法,我们详解一下。后续帮助自定义view有些用处。图片里的get方法就不解释了,清晰明了。

    getWidth与getHeight:

    得到目标view的宽度与高度,当然如果非要骚气的玩,你也可以getRight - getLeft = getWidth。(我才不会告诉你,其实view的api里其实就是这么写的)

    getScrollX与getScrollY:

    可以把getScrollx的值看成坐标。比如view向右边移动20px。那么得到的值就是view.getScrollx()的值就是-20。

    为什么会获取-20?而不是20?很简单,这里移动的并不是view本身而是显示view的镜头。镜头向左移动-20等于view向右移动了20。

    假设getScrollX原始值为0,如果内容view移向左边,getScrollX为正,向右为负。

    同理getScrollY,内容view向上移动,因为镜头向下移动了,所以getScrollY值为正,如果view向下移动,那么值就是负数。

    layout(int l, int t, int r, int b):

    移动目标View布局位置,参数含义是,view的四个边的坐标值:

    int l = 左边的边 

    int t = 上面的边

    int r = 右边的边

    int b=下面的边

    有点混乱?我们打个比方,假设我们想让这个view向右边移动20px。我们就需要这么输入参数:

    view.layout(

    getLeft()+20, //view左边的边增加20

    getTop(),

    getRight()+20,//view右边的边增加20

    getBottom());

    你可以参考上面的图片来理解一下这个逻辑,注意这个时候移动的不是镜头了,这个方法移动的是view本身,其实就是改变view的整体坐标。

    点击回调图

  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/9708605.html
Copyright © 2011-2022 走看看