线性布局(LinearLayout)
ps:线性布局的话是我们用的最多的一个布局方式,一种好的布局习惯是利用LinearLayout的weight布局参数和RelativeLayout相对布局来完成界面的布局
至于AbsoluteLayout坐标(绝对布局)我们使用得比较少,因为现在很多屏幕的分辨率都是不同,利用坐标布局会导致应用的可移植性降低
基本属性的使用
先给大家说下比较重要以及常用的属性
android:orientation:布局中组件的排列方式,有horizontal(水平),vertical(竖直,默认),两种方式
android:gravity:控制组件所包含的子元素的对其方式,可通过时组合多种对其方式:left|buttom
android:layout_gravity:控制该组件在父容器里的对其方式
android:layout_width:布局的宽度,通常不直接写数字的,用wrap_content(组件实际大小),
fill_parent或者match_parent填满父容器
android:layout_height:布局的高度,参数同上
android:id:为该组件设置一个资源id,在java文件中可以通过findViewById(id)找到该组件
android:background:为该组件设置一个背景图片,或者直接用颜色覆盖
好吧先奉上我们要实现的界面
如图,其实很简单,在竖直方向的线性布局中依次加入:TextView + EditText + LinearLayout(水平){设置布局里面组件向右对齐,并添加两个按钮}
简单地说就是布局的嵌套
示例代码:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/LinearLayout1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- tools:context=".MainActivity" >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="请输入要保存的电话号码"
- />
- <EditText
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:gravity="right"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="保存"
- />