欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实战基础之入门视图及布局讲解

程序员文章站 2022-05-18 11:36:21
继上次我们浏览了整个android历史的浮沉,今天我们正式进入android的大门: 一`视图 view视图: view 所有视图的 父类 view的公有属性: 所有的视图都有的属性 1.view视...

继上次我们浏览了整个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列

说明:一个控件也可以同时具备这两个特性。