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列

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


补充:在开发过程中我们大多用以线性布局+相对布局的混合布局来开发项目

--------------------------------------------------------------------

有兴趣的初学朋友可练一下这些较为基础易懂的

Android的实战基础——入门视图及布局

Android的实战基础——入门视图及布局

Android的实战基础——入门视图及布局