布局:
常用的四种布局方式:
1、AbsoluteLayout:绝对布局,使用坐标规范屏幕,x横坐标起点位
最左边,y坐标起点为最高点
1.1关键属性:
layout_x,layout_y,在AbsoluteLayout中放置控件时,这两个属性是
AbsoluteLayout特有的,只能在AbsoluteLayout中的控件才能使用。
他们用来确定指定的控件的摆放坐标(控件左上角的坐标)。
1.2优缺点:
优点:使用AbsoluteLayout,能够最自由地去摆放我们界面上的控件。
缺点:由于AbsoluteLayout是使用坐标系的方式来确定子控件的摆
放位置,但是由于Android平台屏幕的碎片化,我们不能确定用户
的屏幕分辨率,那么我们贸然使用这种布局类型,可能让用户感受不一
样,影响用户体验。
2、LinearLayout:线性布局,所有空间摆放在一条线上。
2.1关键属性:
2.1.1android:orientation="vertical"["horizontal"]
表示LinearLayout中的子控件的摆放方向,vertical垂直摆放(从上到下)
。horizontal水平摆放(从左到右)。
2.1.2android:baselineAligned="true"["false"]
表示LinearLayout中的子控件的摆放要依据基线来对齐。
true是对齐,false不对齐。
2.1.3android:baselineAlignedChildIndex="childIndex"
表示以哪一个子控件的基线来对齐。
2.1.4android:gravity="centrul_horizontal"
表示子控键对其的方向。
2.1.5子控件属性:
android:layout_weight="1.0"
这个属性只有在LinearLayout中有效,他表示我们的子控件所需要占
据的大小,用于与其他的控件分割父控件的空间。
2.2优缺点:
优点:线性布局,受到屏幕分辨率影响最小。子控件排列整齐。
缺点:子控件只能按照指定的几种方式摆放,可能无法适应商业项目
中部分花样繁多的功能界面的需求。
3.FrameLayout,帧布局,放置在内部的所有控件都会分层摆放,
一个控件一层。后放入的控件会摆放在最上面的层里。如果最上
面的一层的控件不够大,我们也能够看到他下面的其他控件。
3.1关键属性:
FrameLayout属性:
android:foreground,可以使用这个属性在整个布局的前面添加一个
图片或者颜色。
android:foregroundGravity,调整由android:foreground设置的图片的对齐方向。
3.2优缺点
优点:有多重动画控件都由FrameLayout实现,说明FrameLayout
很适合播放动画的功能界面实现。
缺点:约束比较强,控件摆放的方式只有这一种,对内部控件操作的手段也比较少。
4、RalativeLayout 相对布局,通过父控件的边或新设置的边来确定将要
添加控件的位置。
1)
android:aligntoParentTop;
android: aligntoParentRight;
android: aligntoParentLeght;
android: aligntoParentBottom;贴到指定的父控件的边缘。
2)
android:toRightOf:
android: toLeghtOf:
android: toStartOf:
android: toEndOf:放置在指定id的控件的指定方向上。
3)
android:layout_alignLeft
android:layout_alignRight
android:layout_alignTop
android:layout_alignBottom,与指定id的控件边缘对齐。
4)android:layout_centerInParent,将我们的控件放置在父控件的中间。
4.2优缺点
优点:内部子控件都是自己相对摆放,在屏幕分辨率出现巨大变化的时候,他们之间的相对位置都不会变。这个布局类型可以很大的减少我们屏幕出现变化时,界面效果的差异性。
缺点:当我们的控件之间的相对关系建立之后,不容易再做修改。
5.1关键属性:
TableLayout:
android:stretchColumns="0"拉伸列,列号从0开始。
android:collapseColumns="0"隐藏列,同上。
android:shrinkColumns="0"收缩列,同上。
TableRow:
android:weightSum="5",此属性与控件的 android:layout_weight="1"一起使用,用来设置一行的所有控件的大小。
(只有新版本可以使用,在4.0版本后可以使用)
6.GridLayout,网格布局,不需要TableRow这么麻烦
6.1关键方法
android:columnCount="3"
android:rowCount="5"
可以通过上面两个方法方便设置我们网格布局的行数和列数。
子控件也可以使用android:layout_column="1"来设置子控件想排在第几个。
7————————
1.TextView,文本框。
常用属性:
android:text 文本信息
android:textSize 字体大小(单位sp)
android:textColor 字体颜色
android:autoLink 能使文字中的电话号码,网址,邮箱变成类似于超链接的样子。
android:lines 行数
android:maxLength 最大字数
2.Button,按钮。
常用属性:
android:onClick="单击响应方法的名字"
单击响应方法的写法:
public void 方法名(View view){}
android:enabled="false"
android:clickable="false"
设置按钮不可用