Android UI

来源:互联网 发布:信用信息数据采集制度 编辑:程序博客网 时间:2024/05/24 06:50

Android UI

Android UI元素是由 view 和 viewgroup组成的。view是指能用户用户交互,显示在屏幕上的控件;viewgroup是承载view控件的容器,是view的父节点,在viewgroup中可以定义view的布局样式。

view和viewgroup的继承关系

布局概述
Android提供了两种方式来设计布局,一种是通过XML文件来进行布局;另一种是通过代码在运行时动态的添加或修改应用布局。

布局参数
布局参数关系

  • 父节点会为每一个子节点定义布局参数
  • 每一个子节点也必须定义和父节点向适应的布局参数,子节点同样也可以为其子节点定义不同的布局参数

布局位置
每一个布局都是在一个矩形里面定义的,位置是通过 left & top 坐标和width & height来描述的。

  • getLeft() 获取当前组件的X坐标,也就是组件左边界的坐标;
  • getTop() 获取当前组件的Y坐标,也就是组件上边界的坐标;
  • getRight()
  • getBottom()

    getRight() getBottom() 可能会理解有些偏差,下面用一个公式,可以知道他们代表的意义 。

  • getRight() == getLeft() + getWidth()
  • getBottom() == getTop() + getHeight()

大小(Size)

一个view组件实际上有两套width 和 height的值:

  • measured width & measured height : 这两个值表示组件在父级组件中想要占用的大小,通过getMeasuredWidth() 和 getMeasuredHeight()可以得到
  • width & height : 这两个值表示组件实际在屏幕上显示的大小(在draw 和 layout之后可以获得),通过getWidth() and getHeight()可以获得。
    这两套值可能会不一样。

组件在计算大小的时候会把padding大小计算在内,但是margins只有viewgroup支持,view是没有这一属性的。

0 0