Pantalla de Android, sistema de coordenadas, relleno, margen

1. Pantalla

inserte la descripción de la imagen aquí

2. Clasificación de los sistemas de coordenadas

1. Sistema de coordenadas de pantalla

 inserte la descripción de la imagen aquí

El sistema de coordenadas toma la esquina superior izquierda de la pantalla como origen (0, 0), la dirección horizontal derecha representa la dirección positiva de la dirección x y la dirección vertical hacia abajo representa la dirección positiva de la dirección y. En los eventos táctiles se utilizan los métodos getRawX() y getRawY(). Las coordenadas obtenidas son los valores de coordenadas basados ​​en este sistema de coordenadas.

2. Sistema de coordenadas de diseño

El sistema de coordenadas toma la esquina superior izquierda del grupo de vista como origen de coordenadas, la derecha horizontal representa la dirección positiva de la dirección X y la vertical hacia abajo representa la dirección positiva de la dirección Y. Las coordenadas de la vista se determinan durante el proceso de diseño de diseño. Es decir, la posición de la vista en el grupo de vista.

3. Ver el sistema de coordenadas (en relación con el contenedor principal)

El sistema de coordenadas de vista toma la esquina superior izquierda de la vista principal como origen de coordenadas y describe la posición de la vista secundaria en la vista principal.
El origen correspondiente está a la derecha para la dirección positiva del eje x, y el origen está hacia abajo para la dirección positiva del eje y. En contacto, el valor de la coordenada obtenido por getX() y getY() es el valor de la coordenada en el sistema de coordenadas de la vista.

inserte la descripción de la imagen aquí

 

3. Obtén las coordenadas

Hay tres cuadros negros en la imagen, la capa más externa es la pantalla del teléfono móvil, la capa intermedia es ViewGroup y la capa más interna es la vista ubicada en ViewGroup.

inserte la descripción de la imagen aquí

1. Las coordenadas obtenidas y los métodos de distancia proporcionados por View (en relación con las coordenadas del contenedor principal)

View.getTop()            获取到的是view自身的顶边到其父布局顶边的距离
View.getLeft()           获取到的是view自身的左边到其父布局左边的距离
View.getRight()          获取到的是view自身的右边到其父布局左边的距离
View.getBottom()         获取到的是view自身底边到其父布局顶边的距离
这四个方法获取的坐标表示的是View原始状态时相对于父容器的坐标,对View进行平移操作并不会改变着四个方法的返回值。

View.getX()              获取的是View左上角相对于父容器的坐标X
View.getY()              获取的是View左上角相对于父容器的坐标Y
View.getTranslationX()   View左上角相对于父容器的X偏移量 translationX = getX() - getLeft()  当View未发生平移操作时,translationX 与translationY都为0。
View.getTranslationY()   View左上角相对于父容器的Y偏移量
View.getLocationOnScreen(int[] position) 获取View相对于整个屏幕的坐标
View.getLocationInWindow(int[] position) 获取View相对于Window的坐标(忽略状态栏及ActionBar)

vista

Se agregaron algunos atributos sobre la vista (x, y): indican las coordenadas de la esquina superior izquierda de la vista, sus valores son: x e y predeterminados en 0
x = mleft + tranlationX
y = mtop + tranlationY
translationX, translationY: Indica el desplazamiento de la posición de la vista Cantidad de desplazamiento (en relación con la posición original), el valor inicial es 0.
Este sistema de coordenadas se utiliza principalmente en la operación de animación de la vista, que puede controlar el desplazamiento de todo el contenido de la vista

2. El método proporcionado por MotionEvent (para obtener las coordenadas del punto de clic del usuario)

getX()       获取点击事件距离当前View左边的距离,即视图坐标
getY()       获取点击事件距离当前View顶边的距离,即视图坐标
getRawX()    获取到的是点击事件距离整个屏幕左边的距离,即绝对坐标
getRawY()    获取到的是点击事件距离整个屏幕顶边的距离,即绝对坐标

inserte la descripción de la imagen aquí

4. Relleno y margen

getPaddingLeft():  View里的content距离View左边缘的距离
getPaddingTop():   View里的content距离View上边缘的距离
getPaddingRight(): View里的content距离View右边缘的距离
getPaddingBottom():View里的content距离View下边缘的距离

Supongo que te gusta

Origin blog.csdn.net/ahou2468/article/details/123230038
Recomendado
Clasificación