android LinearLayout 相关知识

 1; android:paddingLeft与android:layout_marginLeft的区别

 

 

当按钮分别设置以上两个属性时,得到的效果是不一样的。

android:paddingLeft="30px"

按钮上设置的内容(例如图片)离按钮左边边界30个像素

android:layout_marginLeft="30px"

整个按钮离左边设置的内容30个像素

 

 

 

2;tablelayout中stretchColumns的用法

android:stretchColumns="1"是设置 TableLayout所有行的第二列为扩展列。
也就是说如果每行都有三列的话,剩余的空间由第二列补齐

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    
    <TableRow>
    <!-- 从第二列开始填写 -->
        <TextView
            android:layout_column="1"
            android:text="Open..."
            android:padding="3dip" />
            <!-- 字符四周到TextView的 空白边的大小 -->
            <!-- 设置TextView内字符的对其方式 此为右对齐 与layout_gravity的区别-->
        <TextView
            android:text="Ctrl-O"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:layout_column="1"
            android:text="Save..."
            android:padding="3dip" />
        <TextView
            android:text="Ctrl-S"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:layout_column="1"
            android:text="Save As..."
            android:padding="3dip" />
        <TextView
            android:text="Ctrl-Shift-S"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

<!-- 加一个分割线 线的高度为2 View是TextView的父类颜色  -->
    <View
        android:layout_height="2dip"
        android:background="#FF909090" />

    <TableRow>
        <TextView
            android:text="X"
            android:padding="3dip" />
        <TextView
            android:text="Import..."
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="X"
            android:padding="3dip" />
        <TextView
            android:text="Export..."
            android:padding="3dip" />
        <TextView
            android:text="Ctrl-E"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

    <View
        android:layout_height="2dip"
        android:background="#FF909090" />

    <TableRow>
        <TextView
            android:layout_column="1"
            android:text="Quit"
            android:padding="3dip" />
    </TableRow>
</TableLayout> 

 

3;LinearLayout布局的android :layout_gravity是设置 相对于他的父元素的位置。

  LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在 于:android:gravity  用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的 对齐方式。

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <EditText
        android:layout_width="wrap_content"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="one"
        android:layout_gravity="right"/>
</LinearLayout>
 

你可能感兴趣的:(xml,android)