XML布局的时候几种参数的理解

1 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) 即此容器对于父容器的位置(上、下、左右等等)

2 android:gravity (是本元素所有子元素的重力方向即内容对其方向) 即子元素在这个容器的上、下、左右等等 

3 android:orientation (线性布局以列或行来显示内部子元素) 

    android:orientation= "horizontal"内部元素水平排列

    android:orientation= "vertical"  内部元素垂直排列 

4 android:layout_weight 

                             (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。

                       前提是子元素 设置了 android:layout_width = "fill_parent" 属性(水平方向)  或 android:layout_height = "fill_parent" 属性(垂直方向)

                              如果某个子元素的 android:layout_width = "wrap_content"  或 android:layout_height =" wrap_content” ,

                       则 android:layout_weight 的设置值 对该方向上空间的分配刚好相反。

5  dp与sp这两个单位的理解

  dp 屏幕的物理尺寸,大小为1英寸的1/72 

  sp(与刻度无关的像素),可以根据用户字体大小首选项进行缩放 (设置字体的时候推荐)

  注意:dp设置长与高时候,可以使用dp与sp如果设置字体用sp 

6  框架布局理解:又叫堆栈布局  ,多有放到控件里的布局都是按照层次层叠覆盖,后进来的控件在上层 

   使用中可以用margin和layout_gravity(对其方式)控制位置布局,特点:可以实现层叠效果

经常看到 android:layout_width="0dip"  ,则这个属性配合着android:layout_weight 一起使用,使每个元素在水平或者垂直方向按照占用比例来分配

 布局的理解: http://blog.csdn.net/xiaanming/article/details/13630837 

 1 Activity 的代码 

public class LayoutActivity extends Activity {
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout);
	}
}

 2 布局xml 

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_gravity="center"
    android:gravity="left|bottom" 
    android:background="#AABBCC"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="#aa0000"
        android:layout_weight="1"
        android:text="ONE" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="#aa0000"
        android:text="TWO" />

</LinearLayout>

相关推荐