Android基础_2 Activity线性布局和表格布局

在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是练习android的界面设计。参考的资料为mars老师的教程。

  线性布局:

  线性布局就是将各种控件按照行或者列依次进行排列。

  其中本实验用到的各控件的属性解释如下:

    android:layout_weight属性是指不同的控件在activity中占有体积大小的比例。

    android:paddingLeft指内边距左的距离,即控件内文字离控件左边边界的距离。其它的类推。

    android:gravity指控件内文字相对于控件本身的方向属性,长度为dip,与像素独立的长度。

    android:background为控件内文字颜色的背景色,颜色采用rgb时前面需用”#”号.

    android:textSize为文本的大小,单位为pt,即镑。

    android:id为该控件的id,即在此处可以设置控件的id。

    android:layout_width为控件本身的宽度属性,其它的类似。

  实验结果显示2行字,分别设置了不同的属性。

  效果如下:

  

xml代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!--
        线性布局中
        android:layout_weight属性是指不同的控件在activity中占有体积大小的比例。
        android:paddingLeft指内边距左的距离,即控件内文字离控件左边边界的距离。其它的类推。
        android:gravity指控件内文字相对于控件本身的方向属性,长度为dip,与像素独立的长度。
        android:background为控件内文字颜色的背景色,颜色采用rgb时前面需用”#”号.
        android:textSize为文本的大小,单位为pt,即镑。
        android:id为该控件的id,即在此处可以设置控件的id。
        android:layout_width为控件本身的宽度属性,其它的类似。
    -->

    <TextView
        android:id="@+id/London"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="伦敦奥运"
        android:textSize="20pt"
        android:background="#00ff00"
        android:gravity="center_horizontal"
        android:paddingLeft="10dip"
        android:paddingRight="10dip"
        android:paddingTop="10dip"
        android:paddingBottom="10dip"
        android:layout_weight="1"
         />
    <TextView
        android:id="@+id/China"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="中国加油!!!"
        android:textSize="35pt"
        android:background="#ff0000"
        android:layout_weight="3"
         />

</LinearLayout>

  表格布局:

  表格布局有点类似表单的意思,可以在activity中建立多行,每一行又可以设置为多列,所以看起来横竖条理比较清晰,因此叫做表格布局。

  表格布局各控件属性与线性布局类似,本实验用到的属性解释如下:

    用TableRow来增加一行,然后该行内各列依次并排。

  android:padding指的是内边距的4个方向都采用同样的间距。

  android:stretchColumns属性表示当该行属性设置为填充屏幕时,指定将哪一列拉伸。

  实验结果为显示2行,每一行又有4列。

  效果如下:

  

xml代码如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1"
    >
    <TableRow>
        <TextView
        android:text="国家"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView
            android:text="金牌"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView
            android:text="银牌"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView
            android:text="铜牌"
            android:background="#0000ff"
            android:padding="2dip"
            />
        </TableRow>
    <TableRow >
         <TextView
        android:text="中国"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView
            android:text="*"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView
            android:text="**"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView
            android:text="***"
            android:background="#0000ff"
            android:padding="2dip"
            />
    </TableRow>
     <TableRow >
         <TextView
        android:text="美国"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView
            android:text="*"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView
            android:text="**"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView
            android:text="***"
            android:background="#0000ff"
            android:padding="2dip"
            />
    </TableRow>

</TableLayout>

  线性布局和表格布局混合:

  混合布局原理类似,只是大的layout中嵌入小layout,且小layout中又可以嵌入不同的layout。

  这次实验将上面的2个实验混合起来显示的,即总的布局为垂直方向上的线性布局,上面那个布局内部又为垂直方向的布局,下面那个布局为也是一个线性布局,不过里面嵌入了一个表格布局,所以总共有4个布局。

  效果如下

  

xml代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_weight="1" >
    <TextView
        android:id="@+id/London"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="伦敦奥运"
        android:textSize="5pt"
        android:background="#00ff00"
        android:gravity="center_horizontal"
        android:padding="10pt"
        android:layout_weight="1"
         />
    <TextView
        android:id="@+id/China"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="中国加油!!!"
        android:textSize="8pt"
        android:background="#ff00ff"
        android:layout_weight="3"
         />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="3">
        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:stretchColumns="1"
            >
            <TableRow>
                <TextView
                android:text="国家"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView
                    android:text="金牌"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView
                    android:text="银牌"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView
                    android:text="铜牌"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
                </TableRow>
            <TableRow >
                 <TextView
                android:text="中国"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView
                    android:text="*"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView
                    android:text="**"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView
                    android:text="***"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
            </TableRow>
             <TableRow >
                 <TextView
                android:text="美国"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView
                    android:text="*"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView
                    android:text="**"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView
                    android:text="***"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
            </TableRow>
        </TableLayout>
    </LinearLayout>

</LinearLayout>

  实验总结:

  通过本次实验对activity的简单布局有了个初步的了解。

时间: 2024-12-25 02:49:43

Android基础_2 Activity线性布局和表格布局的相关文章

Android基础_3 Activity相对布局

相对布局要比前面讲的线性布局和表格布局要灵活一些,所以平常用得也是比较多的.相对布局控件的位置是与其周围控件的位置相关的,从名字可以看出来,这些位置都是相对的,确定出了其中一个控件的位置就可以确定另一个控件的位置了. 本次实验就是显示如下的activity: 其中只有2个button,1个textview,1个edittext. 在相对布局中,一般用到的控件属性解释如下: 在相对布局中有如下属性,解释如下: android:layout_above  为将该控件的底部放在指定id控件的上方 an

Android——布局(线性布局linearLayout,表格布局TableLayout,帧布局FrameLayout)

线性布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&q

android基础(2):常用的布局方法

一:线性布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background" android:orientation

android——相对布局,表格布局

1.相对布局 RelativeLayout 又称作相对布局,也是一种非常常用的布局.和LinearLayout 的排列规则不同,RelativeLayout 显得更加随意一些,它可以通过相对定位的方式让控件出现在布局的任何位置.也正因为如此,RelativeLayout 中的属性非常多,不过这些属性都是有规律可循的,其实并不难理解和记忆. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

Android布局之表格布局TableLayout

一.TableLayout概述 TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象 二.TableLayout的全局属性  android:collapseColumns = "1,2"      隐藏从0开始索引列,列直接必须ongoing逗号隔开:1,2,5 android:shrikColumns = "1,2"       收缩从0开始的索引列.当可收缩的列太宽(内容过多)不会被挤出屏

1.线性布局、相对布局、表格布局、帧布局

线性布局(Linearlayout): 有顺序.有次序.有条理的摆放着...(这是我的理解,或者说是我的表达方式) 分垂直摆放(Vertical)和平行摆放(horizontal) 相对布局(Relativelayout): 所有控件都要给id,然后通过上一个控件的id来确定下一个控件的相对位置 表格布局(Tablelayout): 很少用到 帧布局(Framelayout): 平时也很少用到,但到今天突然想到可以用来做那个置顶按钮

Android五大布局之一表格布局(TableLayout)

一.TableLayout(表格布局)常用属性: android:collapseColumns:设置需要被隐藏的列的序号 android:shrinkColumns:设置允许被收缩的列的列序号 android:stretchColumns:设置运行被拉伸的列的列序号 以上这三个属性的列号都是从0开始算的,比如shrinkColunmns = "2",对应的是第三列! 可以设置多个,用逗号隔开比如"0,2",如果是所有列都生效,则用"*"号即可 

Android布局_表格布局TableLayout

一.TableLayout概述 TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象 二.TableLayout的全局属性  1.android:collapseColumns = "1,2" 隐藏从0开始索引列,列直接必须ongoing逗号隔开:1,2,5 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android&

Android基础TOP3:线性布局的特点,常用属性,及权重值

线性布局是一种让视图水平或者垂直布排列的布局: 常用属性: androuid:orientation :表示布局方向 取值vertical表示垂直布局 取值horizontal表示水平布局 android:gravity 表示视图对齐方式 内容包括 TOP,bottom,left,right,center_vertical,center_horizontal,center 可以使用"|"分割填写多个值 布局中的视图可以使用如下多个属性: android:layout_gravity 表