布局和视图的常用属性
0、用户界面由布局和GUI组件组成
之前的项目中都是使用线性布局LinearLayout,LinearLayout将视图显示在一行或一列中。其使用方法如下所示:
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"......>
</LinearLayout>
1、Android命名空间
其中xmlns:android属性用于指定Android命名空间,必须设置为"http://schemas.android.com/apk/res/android"
2、必须设置布局的宽度和高度
android:layout_width和android:layout_height属性指定了布局宽度和高度。这些属性对所有类型的布局和视图都是必须的,可以将其设置为wrap_content, match_parent或某个特定的大小。wrap_content表示你希望布局足够大,恰好能放下其中包含的所有视图,match_parent表示你希望布局与它的父布局同样大。
3、垂直或水平方向
android:orientation属性指定希望以什么方向摆放视图,vertical表示垂直摆放;horizontal表示水平存放,视图默认从左向右显示。如果需要显示从右往左的语言,需要在AndroidManifest.xml文件中生命android:supportsRtl=“true”
4、内边距增加空间
android:padding如果希望布局边缘和屏幕边界之间留下一些空间,可以设置内边距属性,这些属性告诉Android希望布局的各个边与其父布局各个边之间有多大的间距。如果你希望上下左右的内边距不尽相同,你可以分别使用
android:paddingBottom、android:paddingLeft、android:paddingRight、android:paddingTop来设定。如果你的应用还支持从右向左读的语言,还可以使用android:paddingStart和android:paddingEnd来分别设置布局的起始边和末尾边。
5、增加尺寸资源文件为不同布局指定一致的内边距
到目前为止我们只知道硬编码设置尺寸,但是我们还可以在一个尺寸资源文件中设置内边距,利用尺寸资源文件,可以更容易地维护应用中所有布局的内边距。一般情况下可以在工程的\app\src\main\res\values目录下可以找到一个dimens.xml,若没有也可以自行创建一个。下面是一个实例。
在dimens.xml中增加水平和垂直边距的尺寸:
<?xml versio"1.0" encoding="utfg-8" ?>
<resources><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen>
</resources>
再在布局文件中使用尺寸资源:
<LinearLayout ...android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"
6、线性布局按视图在布局中出现的顺序显示视图。
7、使用外边距增加视图间的距离
使用线性布局指定视图位置时,布局并不会在视图之间流出间隔。简单地说,一个视图放在另一个视图下面,但是想要在中间增加间距,这就是外边距的作用。
layout_marginTop:在视图上方增加额外的空间
layout_marginBottom:在视图下方增加额外的空间
layout_marginLeft:在视图左边增加额外的空间
layout_marginStart:在视图起始增加额外的空间
layout_marginRight:在视图右边增加额外的空间
layout_marginTop:在视图末尾边增加额外的空间
layout_marginTop:在视图各个边增加额外的空间