小记Android之LinearLayout,AbsoluteLayout,FrameLayout

LinearLayout布局:
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。
 
<?xml version="1.0" encoding="utf-8"?>

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

android:orientation="vertical" android:layout_width="fill_parent" 

android:layout_height="fill_parent">

 <LinearLayout android:orientation="vertical" 

android:layout_weight="1" android:layout_width="fill_parent" 

android:layout_height="wrap_content">

 <TextView android:layout_width="fill_parent" 

android:textSize="15sp" android:layout_weight="1" 

android:gravity="center_horizontal|center_vertical" 

android:layout_height="wrap_content" android:background="#56789a"></TextView>

 <TextView android:layout_width="fill_parent" 

android:textSize="15sp" android:layout_weight="1" 

android:gravity="center_horizontal|center_vertical" 

android:layout_height="wrap_content" android:background="#456789"></TextView>

 <TextView android:layout_width="fill_parent" 

android:textSize="15sp" android:layout_weight="1" 

android:gravity="center_horizontal|center_vertical" 

android:layout_height="wrap_content" android:background="#345678"></TextView>

 <TextView android:layout_width="fill_parent" 

android:textSize="15sp" android:layout_weight="1" 

android:gravity="center_horizontal|center_vertical" 

android:layout_height="wrap_content" android:background="#234567"></TextView>

 </LinearLayout>

 <LinearLayout android:orientation="horizontal" 

android:layout_weight="1" android:layout_width="fill_parent" 

android:layout_height="wrap_content">

 <TextView android:layout_width="fill_parent" 

android:layout_weight="1" android:gravity="center_horizontal|center_vertical" 

android:layout_height="fill_parent" android:background="#56789a"></TextView>

 <TextView android:layout_width="fill_parent" 

android:layout_weight="1" android:gravity="center_horizontal|center_vertical" 

android:layout_height="fill_parent" android:background="#456789"></TextView>

 <TextView android:layout_width="fill_parent" 

android:layout_weight="1" android:gravity="center_horizontal|center_vertical" 

android:layout_height="fill_parent" android:background="#345678"></TextView>

 <TextView android:layout_width="fill_parent" 

android:layout_weight="1" android:gravity="center_horizontal|center_vertical" 

android:layout_height="fill_parent" android:background="#234567"></TextView>

 </LinearLayout>

 <LinearLayout android:orientation="horizontal" 

android:gravity="right" android:layout_width="fill_parent" 

android:layout_height="wrap_content">

 <Button android:text="确定" android:layout_width="wrap_content" 

android:layout_height="wrap_content">

 </Button>

 <Button android:text="取消" android:layout_width="wrap_content" 

android:layout_height="wrap_content">

 </Button>

 </LinearLayout>

</LinearLayout>

<!-- gravity:设置LinearLayout内控件的对齐方式 -->

<!-- orientation:设置LinearLayout的线性对齐方式 -->

AbsoluteLayout布局:

<?xml version="1.0" encoding="utf-8"?>

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

android:orientation="vertical" android:layout_width="fill_parent" 

android:layout_height="fill_parent">

 <TextView android:layout_width="fill_parent" 

android:layout_height="wrap_content" 

android:layout_x="10px" 

android:layout_y="10px" 

android:background="#0000FF"></TextView>

</AbsoluteLayout>

<!-- 绝对定位 指定子控件的xy精确坐标的布局。缺乏灵活性。 -->


 

FrameLayout布局:

 

<?xml version="1.0" encoding="utf-8"?>

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

android:layout_width="fill_parent" android:layout_height="fill_parent">

 <TextView android:layout_width="290dp" android:layout_height="290dp" 

android:layout_gravity="center" android:background="#00FF11" />

 <TextView android:layout_width="260dp" android:layout_height="260dp" 

android:layout_gravity="center" android:background="#00EE22" />

 <TextView android:layout_width="230dp" android:layout_height="230dp" 

android:layout_gravity="center" android:background="#00DD33" />

 <TextView android:layout_width="200dp" android:layout_height="200dp" 

android:layout_gravity="center" android:background="#00CC44" />

</FrameLayout>

<!-- FrameLayout中的控件是层叠形式的。 -->

<!-- layout_gravity: 指定控件在整个容器中的位置。 -->

<!-- gravity:指定控件内部的内容在控件中的位置。 -->

<!-- 如:1中有2,2中有3 在2中用layout_gravity标识2在1中的位置。 在2中用gravity标识2中的3在2中的位置。 -->


 

posted @ 2011-07-20 13:57  mylitboy  阅读(267)  评论(0编辑  收藏  举报