Android实战基础之入门视图及布局讲解
继上次我们浏览了整个android历史的浮沉,今天我们正式进入android的大门:
一`视图
view视图:
view 所有视图的 父类
view的公有属性: 所有的视图都有的属性
1.view视图的宽高 所有视图必须添加的属性
android:layout_width=
android:layout_height=
表达方式:1.固定值100dp等等类似px(不推荐使用px)
dp在android开发中固定要求使用的距离单位
sp在android开发中固定要求使用的字体大小单位
2.match_parent 或fill_parent
填充满父布局这两个值效果一样 表示 匹配或填充满父布局
父布局有多大 这个视图就有多大
3.wrap_content
内容包裹我内部的内容有多大我就显示多大
2.android:id=“@+id/自己起的id名字”
给一个视图添加一个id 是该视图的唯一标识
可以通过这个id可以在java代码中对该视图进行操作
3.android:visibility=“gone”表示当前视图是否可见 默认可见
有三个值:
gone 完全消失,不占用屏幕位置
visible 可见的 默认值
invisible 消失 但是位置占据
4.android:background=“” 设置背景(可以是图片也可以是颜色)
参数: 1.颜色代码 #ffffff
2.图片 @mipmap/aaa将图片资源 放在 res/ mipmap文件夹下,然后使用@mipmap/aaa 调用
注意:res文件夹下的所有文件名称只能由小写字 母a-z 0-9 和 下划线_ 这三种方式组成
3.使用提供的颜色@android:color/颜色
4.使用自定义颜色
首先在res/values/color.xml文件中定义颜色
<color name =“colorblack”>#000000</color>
使用的时候 @color/colorblack
5.android:gravity=“” 重心引力 控制自己视图内部的内容的位置
1.android手机屏幕的 原点在左上角0,0点
向右方向是x轴正方向
向下是 y轴正方向
2.参数是left right bottomtop可以 用 | 链接 并列关系
center center_vertical center_horizontal 居中 垂直居中 水平居中
3.作用: 将当前视图内部的内容 调整位置像某个方向或者位置对齐
6.android:layout_gravity=“” 控制自己视图 相对于父布局的重心位置
1.android手机屏幕的 原点在左上角 0,0点 向右方向是x轴正方向 向下是 y轴正方向
2.参数是left right bottomtop 可以用 | 链接 并列关系
center center_vertical center_horizontal 当前视图相对于父布局的 居中 垂直居中 水平居中
3.作用: 将当前视图相对于父布局调整位置像某个方向或者位置对齐
7. android:layout_margin =“10dp” 外边距 四个方向都有
android:layout_marginleft =“10dp” 外左边距
android:layout_margintop =“10dp” 外上边距
android:layout_marginright =“10dp” 外右边距
android:layout_marginbuttom =“10dp” 外下边距
8. android:padding=“10dp”
android:paddingleft= “10dp”左内边距
android:paddingright= “10dp”右内边距
android:paddingtop= “10dp”上
android:paddingbuttom= “10dp”下
简单的领略了视图我们就步入了布局:
二· 五大布局
1线性布局 :linearlayout
水平或者垂直排列
子视图不可能重叠
1.android:oritation= “vertical” 表示子视图的排列方式是垂直
“horizontal” 子视图水平排列
该属性必须添加
2.android:layout_weight=“” 权重分配 剩余空间,
当权重大于0的时候,数值越大分配的空间越大
当权重小于0的时候 数值越小分配的剩余空间越大
数值的绝对值越大分配的空间越大
2 :relativelayout
相对布局:相对于某个视图或者父布局的位置
该布局下的子视图可以重叠参照物
一、当参照物是父布局的时候
1.android:layout_alignparentleft=true 相对于父布局在父布局的左侧对齐
2.android:layout_alignparenttop=true相对于父布局 在父布局的上侧对齐
3.android:layout_alignparentbuttom=true相对于父布局 在父布局的下侧对齐
4.android:layout_alignparentright=true相对于父布局 在父布局的右侧对齐
5.android:layout_centerinparent=true 相对于父布局居中
6.android:layout_centervertical=true 相对于父布局垂直居中
7.android:layout_centerhorizontal=true 相对于父布局水平居中
二、当参照物是兄弟控件的时候
8.android:layout_alignleft=“@id/button” 参数是参照物视图的id 作用于 参照物视图左边对齐
9.android:layout_alignright=“@id/button” 参数是参照物视图的id 作用于 参照物视图右边对齐
10.android:layout_aligntop=“@id/button” 参数是参照物视图的id 作用于 参照物视图上边对齐
11.android:layout_alignbottom=“@id/button” 参数是参照物视图的id 作用于 参照物视图下边对齐
12.android:layout_toleftof=“@id/button” 在参照物视图的 左侧
13.android:layout_torightof=“@id/button” 在参照物视图的右侧
14.android:layout_above=“@id/button” 在参照物视图的上侧
15.android:layout_below=“@id/button”在参照物视图的下册
3 : 帧布局framelayout
一帧一帧叠加出来的
布局子视图可以叠加
每一个子视图都是一帧
位置摆放只能通过子视图的android:layout_gravity方法来设置
android系统加载速度最快的布局
4 :absolutlayout
绝对布局:开发过程中绝对不推荐使用的布局
过时的布局
子视图通过属性android:layout_x
android:layout_y 来确定当前视图在屏幕上的位置
x,y就是坐标点 x轴的值和y轴的值
5 :
tablelayout
类似于行和列的形式对控件进行管理,每一行为一个tablerow对象,或一个view控件。
当为tablerow对象时,可在tablerow下添加子控件,默认情况下,每个子控件占据一列。
当为view时,该view将独占一行。
tablelayout行列数的确定:
tablelayout的行数由开发人员直接指定,即有多少个tablerow对象(或view控件),就有多少行。
tablelayout的列数确定:
等于含有最多子控件的tablerow的列数。如第一tablerow含2个子控件,第二个tablerow含3个,第三个tablerow含4个,那么该tablelayout的列数为4.
android:stretchcolumns 设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
android:shrinkcolumns 设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。
android:collapsecolumns 设置要隐藏的列
比如:
android:stretchcolumns="0" 第0列可伸展
android:shrinkcolumns="1,2" 第1,2列皆可收缩
android:collapsecolumns="*" 隐藏所有行
单元格属性,有以下2个参数:
android:layout_column 指定该单元格在第几列显示
android:layout_span 指定该单元格占据的列数(未指定时,为1)
例如:
android:layout_column="1" 该控件显示在第1列
android:layout_span="2" 该控件占据2列
说明:一个控件也可以同时具备这两个特性。