android 界面布局

在使用布局前我们需要了解两个属性:

竖直方向布局:android:layout_height="wrap_content"

水平方向布局:android:layout_width="match_parent"

wrap_content表示包裹内容而不填充,match_parent表示铺满父容器,fill_parent和match_parent的意思一样,在2.2以上两个词都可以用,2.2以下的话,用fill_parent。

使用FrameLayout布局

FrameLayout对象就好比在一块屏幕上提前一定好的空白区域,然后可以填充元素在里面。所有元素被放置在区域的最左上,而且无法为这些元素制定确定的位置

<FrameLayoutandroid:id="@+id/frameLayout1"

android:layout_width="match_parent"

android:layout_height="wrap_content">

<Buttonandroid:layout_height="wrap_content"android:text="@string/ok"android:id="@+id/button1"android:layout_width="match_parent"></Button>

<Buttonandroid:text="Button"android:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button>

</FrameLayout>

当放置了两个按钮,两个按钮会叠加在一起

使用LinearLayout布局

在android中常用的布局方式,它将自己包含的子元素按照一个方向(水平或垂直)进行排列

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

</LinearLayout>

在上面代码中加入两个按钮后界面如下

方向可以通过android:orientation="vertical"或android:orientation="horizontal"来设置水平或是垂直排列

使用RelativeLayout布局

这个表示相对布局,它里面的元素按照相对位置来计算的。可以指定一个内部的元素A相对于元素B的位置

anroid中也有padding、margin的概念。padding表示填充,margin表示边距。

布局设计到和父元素的对齐方式,和相对元素的对齐方式,间距等。

1.和父元素对齐属性:

android:layout_centerHrizontal水平居中

android:layout_centerVertical垂直居中

android:layout_centerInparent相对于父元素完全居中

android:layout_alignParentBottom贴紧父元素的下边缘

android:layout_alignParentLeft贴紧父元素的左边缘

android:layout_alignParentRight贴紧父元素的右边缘

android:layout_alignParentTop贴紧父元素的上边缘

android:layout_alignWithParentIfMissing如果对应的兄弟元素找不到的话就以父元素做参照物

2.和相对元素对齐属性:

android:layout_below在某元素的下方

android:layout_above在某元素的的上方

android:layout_toLeftOf在某元素的右边

android:layout_alignTop本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight本元素的右边缘和某元素的的右边缘对齐

3.间距属性:

android:layout_marginBottom离某元素底边缘的距离

android:layout_marginLeft离某元素左边缘的距离

android:layout_marginRight离某元素右边缘的距离

android:layout_marginTop离某元素上边缘的距离

android中度量单位有:

px像素,dip依赖于设备的像素,sp带比例的像素,pt点,in英寸,mm毫米

使用TableLayout布局

是一种表格布局,以行和列的形式排列。它里面包含了TableRow定义了每一行,每一行里可以添加需要的元素

<TableLayoutandroid:id="@+id/tableLayout1"android:layout_width="match_parent"android:layout_height="wrap_content">

<TableRowandroid:id="@+id/tableRow1"android:layout_width="wrap_content"android:layout_height="wrap_content">

<TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="TextView"></TextView>

<EditTextandroid:text="EditText"android:id="@+id/editText1"android:layout_width="wrap_content"android:layout_height="30px"></EditText>

</TableRow>

<TableRowandroid:id="@+id/tableRow2"android:layout_width="wrap_content"android:layout_height="wrap_content">

<TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="TextView"></TextView>

<EditTextandroid:text="EditText"android:id="@+id/editText1"android:layout_width="wrap_content"android:layout_height="30px"></EditText>

</TableRow>

</TableLayout>

相关推荐