1.LinearLayout线性布局
horizontal:横向
vertical:纵向
每个子元素 都是堆放在前一个子元素之后
单位:dp 控件 宽和高的单位 dpi( 手机屏幕宽平方 + 手机屏幕高度的平方 )开根号/手机的尺寸
sp:字体的单位
通用 属性:android:layout_width 宽
android:layout_height 高
建议:每次写LinearLayout 都将方向属性 orientation加上
剩余控件的分配:(当前的控件的权重/所有控件权重的值相加)*剩余空间 1/3*剩余空间
分配空间和方向相互影响 orientation horizontal 那么分配的是水平方向的剩余空间
orientation Vertical 那么分配的是垂直方向的剩余空间
子控件的宽或者高 :原来的宽或者高 加上分配的宽或高
android:gravity="right|bottom"
子元素相对自己的位置
right bottom。。。。 可以叠加使用 用“|”区分
note:一般是俩个属性叠加 前提是 俩个属性无冲突
>3.2 android:layout_gravity 自己相对父控件的位置
android:layout_gravity="right"
相对于父控件的位置
和父控件的方向 有关联
如果父控件的方向 设置为水平方向 android:orientation="horizontal" 自己的layout_gravity 水平方向的属性值无效
如果父控件的方向 设置为垂直方向 android:orientation="vertical" 自己的layout_gravity 垂直方向的属性值无效
2.RelativeLayout相对布局
RelativeLayout 相对布局
相对兄弟控件
放置位置
位置对齐
3.外间距
所有组件通用的属性
组件与组件之间或者是组件与布局之间的间距:
外边距:控件与控件或者是父组件的距离
4.内边距
所有组件通用的属性,
内边距:里面的内容里边框的距离
6.FrameLayout帧布局
每个子组件都为一帧,当前的子组件会覆盖前一个组件
概念:排列所有的子类,单一方向横向或纵向
>1.方向属性(orientation)
horizontal:横向
vertical:纵向
每个子元素 都是堆放在前一个子元素之后
单位:dp 控件 宽和高的单位 dpi( 手机屏幕宽平方 + 手机屏幕高度的平方 )开根号/手机的尺寸
sp:字体的单位
通用 属性:android:layout_width 宽
android:layout_height 高
- wrap_content:内容包裹
- match_parent:匹配父控件你如果布局最外层是match_parent那么 匹配手机的宽或高
- fill_parent :和match_parent是一样的 是2.3以前使用
建议:每次写LinearLayout 都将方向属性 orientation加上
>2.layout_weight:权重 分配屏幕剩余空间
剩余控件的分配:(当前的控件的权重/所有控件权重的值相加)*剩余空间 1/3*剩余空间
分配空间和方向相互影响 orientation horizontal 那么分配的是水平方向的剩余空间
orientation Vertical 那么分配的是垂直方向的剩余空间
子控件的宽或者高 :原来的宽或者高 加上分配的宽或高
一般使用 权重 子控件的宽 0dp
android:gravity="right|bottom"
子元素相对自己的位置
right bottom。。。。 可以叠加使用 用“|”区分
note:一般是俩个属性叠加 前提是 俩个属性无冲突
>3.2 android:layout_gravity 自己相对父控件的位置
android:layout_gravity="right"
相对于父控件的位置
和父控件的方向 有关联
如果父控件的方向 设置为水平方向 android:orientation="horizontal" 自己的layout_gravity 水平方向的属性值无效
如果父控件的方向 设置为垂直方向 android:orientation="vertical" 自己的layout_gravity 垂直方向的属性值无效
2.RelativeLayout相对布局
RelativeLayout 相对布局
相对兄弟控件
放置位置
- layout_toLeftOf 在指定的兄弟控件的左边位置
- layout_toRightOf 在指定的兄弟控件的右边位置
- layout_below 在指定的兄弟控件下边位置
- layout_above 在指定的兄弟控件上边位置
- layout_alignLeft 与指定的兄弟控件左对齐
- layout_alignRight 与指定的兄弟控件右对齐
- layout_alignTop 与指定的兄弟控件顶部对齐
- layout_alignBottom 与指定的兄弟控件底部对齐
- layout_alignBaseline 与指定的兄弟控件内容对齐
位置对齐
- layout_alignParentLeft 放置在父控件的左边(默认方式)
- layout_alignParentRight 放置在父控件的右边
- layout_alignParentTop 放置在父控件顶部
- layout_alignParentBottom 放置在父控件的底部
- layout_centerInParent 放置在父控件的居中位置
- layout_centerHorizontal 放置在父控件水平居中位置
- layout_centerVertical 放置在父控件垂直居中位置
3.外间距
所有组件通用的属性
组件与组件之间或者是组件与布局之间的间距:
外边距:控件与控件或者是父组件的距离
- android:layout_margin="20dp" 四方都包括
- android:layout_marginBottom="20dp" 底部距离
- android:layout_marginRight="20dp" 右侧距离
- android:layout_marginTop="20dp" 顶部距离
- android:layout_marginLeft="20dp" 左侧距离
4.内边距
所有组件通用的属性,
内边距:里面的内容里边框的距离
- android:padding="20dp" 四方都有距离
- android:paddingLeft="20dp" 左侧有距离
- android:paddingTop="20dp" 顶部有距离
- android:paddingRight="20dp"右侧有距离
- android:paddingBottom="20dp"底部有距离
6.FrameLayout帧布局
每个子组件都为一帧,当前的子组件会覆盖前一个组件