当前位置: 移动技术网 > 移动技术>移动开发>Android > Android getScrollX() 、scrollBy()、 scrollTo() 、getX、getRawX、getTranslationX等的图形表示

Android getScrollX() 、scrollBy()、 scrollTo() 、getX、getRawX、getTranslationX等的图形表示

2020年07月08日  | 移动技术网移动技术  | 我要评论

 

1、getScrollX()
    原点(0,0)为view左上角的坐标点。实际移动的为view的内容而并非view本身,返回值为view的内容相对于view本身的水平或者垂直方向的偏移量。

    getScrollX():原点X坐标减去view内容移动后 内容左上角X坐标(左移正,右移负)

    getScrollY():原点Y坐标减去view内容移动后 内容左上角Y坐标 (上移正,下移负)

 

2、scrollTo()、scrollBy()

scrollTo()源码

/**
     * Set the scrolled position of your view. This will cause a call to
     * {@link #onScrollChanged(int, int, int, int)} and the view will be
     * invalidated.
     * @param x the x position to scroll to
     * @param y the y position to scroll to
     */
    public void scrollTo(int x, int y) {
        if (mScrollX != x || mScrollY != y) {
            int oldX = mScrollX;
            int oldY = mScrollY;
            mScrollX = x;
            mScrollY = y;
            invalidateParentCaches();
            onScrollChanged(mScrollX, mScrollY, oldX, oldY);
            if (!awakenScrollBars()) {
                postInvalidateOnAnimation();
            }
        }
}

scrollBy()源码

/**
     * Move the scrolled position of your view. This will cause a call to
     * {@link #onScrollChanged(int, int, int, int)} and the view will be
     * invalidated.
     * @param x the amount of pixels to scroll by horizontally
     * @param y the amount of pixels to scroll by vertically
     */
    public void scrollBy(int x, int y) {
        scrollTo(mScrollX + x, mScrollY + y);
}

scrollTo():表示的是移动到指定坐标点

scrollBy():表示的是移动的增量dx和dy,在现在的基础上继续移动,如果为负值则移动的是相反方向(为正时代表右向左或者下向上)

3、getX、getRawX、getTranslationX等的图形表示

https://blog.csdn.net/dmk877/article/details/51550031

event.getX():表示的是触摸的点距离自身左边界的距离 
event.getY():表示的是触摸的点距离自身上边界的距离
event.getRawX:表示的是触摸点距离屏幕左边界的距离
event.getRawY:表示的是触摸点距离屏幕上边界的距离 
View.getWidth():表示的是当前控件的宽度,即getRight()-getLeft()
View.getHeight():表示的是当前控件的高度,即getBottom()-getTop() 
View.getTop():子View的顶部到父View顶部的距离
View.getRight():子View的右边界到父View的左边界的距离 
View.getBottom():子View的底部到父View的顶部的距离 
View.getLeft():子View的左边界到父View的左边界的距离 
View.getTranslationX()计算的是该View在X轴的偏移量。初始值为0,向左偏移值为负,向右偏移值为正。 
View.getTranslationY()计算的是该View在Y轴的偏移量。初始值为0,向上偏移为负,向下偏移为证。 

本文地址:https://blog.csdn.net/moyuxueyi/article/details/107189370

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网