安卓的主要几大布局

今天我们的主要内容就是安卓的主要几个基础的布局方式。(主要布局如下:)

1.线性布局(LinerLayout)

2.相对布局(RelativeLayout)

3.表格布局(TableLayout)

4.网格布局(GridLayout)

5.绝对布局(AbsoluteLayout)

6.帧布局(FrameLayout)

一:线性布局(LinerLayout)。

1.xml文件配置:

<?xml version="1.0" encoding="utf-8"?>
<!-- 线性布局的页面 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#0000FF"
        android:gravity="center_horizontal|center_vertical"
        android:text="线性布局"
        android:textSize="20sp"/>

<LinearLayout
    android:layout_width="200dp"
    android:layout_height="150dp"
    android:layout_gravity="center_horizontal|center_vertical"
    android:background="#0000FF"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:background="#00FF00"
        android:text="内容一" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#F7F709"
        android:text="内容二" />

</LinearLayout>
<LinearLayout
    android:layout_width="200dp"
    android:layout_height="150dp"
    android:layout_gravity="right"
    android:background="#0000FF"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#00FF00"
        android:text="内容一" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:background="#F7F709"
        android:text="内容二" />
</LinearLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
 <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="按一"
        android:onClick="click"
        />
  <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="按二"
        android:onClick="click"/>
   <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="按三"
        android:onClick="click"/>
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="按四"
        android:onClick="click"/>

</LinearLayout>
</LinearLayout>

展示:

2.xml文件配置:

<?xml version="1.0" encoding="utf-8"?>
<!-- 线性布局页面 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:gravity="center_horizontal|center_vertical"
        android:text="线性布局登录页面"
        android:textSize="20sp" />

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal|center_vertical"
        android:layout_marginTop="20dp"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="账号:"
            android:textSize="15sp" />

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal|center_vertical"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="密码:"
            android:textSize="15sp" />

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:layout_gravity="center_horizontal|center_vertical"
        android:layout_marginTop="15dp"
        android:orientation="horizontal" >

        <CheckBox
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="记住账号" />

        <CheckBox
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="记住密码" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:layout_gravity="center_horizontal|center_vertical"
        android:layout_marginTop="15dp"
        android:orientation="horizontal" >

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="click"
            android:text="登录"
            android:textSize="10sp" />

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textSize="15sp" />

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="click"
            android:text="注册"
            android:textSize="10sp" />
    </LinearLayout>

</LinearLayout>

展示:

二:相对布局(RelativeLayout)

1.xml文件布局如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- 相对布局页面 -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:text="相对布局登录页面"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/textView"
        android:layout_marginLeft="80px"
        android:layout_marginTop="30dp"
        android:text="账号:"
        android:textSize="15sp" />

    <EditText
        android:id="@+id/firstEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/textView1"
        android:layout_marginLeft="130px"
        android:layout_marginRight="50px" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/firstEditText"
        android:layout_marginLeft="80px"
        android:layout_marginTop="20dp"
        android:text="密码:"
        android:textSize="15sp" />

    <EditText
        android:id="@+id/firstEditText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/textView2"
        android:layout_marginLeft="130px"
        android:layout_marginRight="50px" />

    <CheckBox
        android:id="@+id/checkbox1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/firstEditText2"
        android:layout_marginLeft="100px"
        android:layout_marginTop="20dp"
        android:text="记住账号" />

    <CheckBox
        android:id="@+id/checkbox2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/checkbox1"
        android:layout_marginLeft="280px"
        android:layout_marginRight="50px"
        android:text="记住密码" />

    <Button
        android:id="@+id/cancelButton1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_below="@id/checkbox2"
        android:layout_marginLeft="100px"
        android:layout_marginRight="290px"
        android:layout_marginTop="25dp"
        android:text="登录"
        android:textSize="14sp" />

    <Button
        android:id="@+id/confremButton2"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_alignBottom="@id/cancelButton1"
        android:layout_marginLeft="290px"
        android:layout_marginRight="100px"
        android:text="注册"
        android:textSize="14sp" />

</RelativeLayout>

展示:

三:表格布局(TableLayout)

xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- 表格布局页面 -->
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:stretchColumns="2" >

    <TableRow>

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="序号"
            android:textSize="20sp" />

        <TextView
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="书名"
            android:textSize="20sp" />

        <TextView
            android:gravity="center"
            android:text="内容"
            android:textSize="20sp" />

        <TextView
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="作者"
            android:textSize="20sp" />
    </TableRow>

    <View
        android:layout_height="1.5dp"
        android:background="#00FF00" />

    <TableRow>

        <TextView
            android:gravity="center"
            android:text="1" />

        <TextView
            android:gravity="center"
            android:text="西游记" />

        <TextView
            android:gravity="center"
            android:text="取经" />

        <TextView
            android:gravity="center"
            android:text="郑晨" />
    </TableRow>

    <View
        android:layout_height="1.5dp"
        android:background="#00FF00" />

    <TableRow>

        <TextView
            android:gravity="center"
            android:text="2" />

        <TextView
            android:layout_column="2"
            android:gravity="center"
            android:text="孙悟空大闹天空" />
    </TableRow>

    <View
        android:layout_height="1.5dp"
        android:background="#00FF00" />

    <TableRow>

        <TextView
            android:gravity="center"
            android:text="3" />

        <TextView
            android:layout_column="1"
            android:gravity="center"
            android:text="盘龙" />

        <TextView
            android:layout_column="3"
            android:gravity="center"
            android:text="郑晨" />
    </TableRow>

    <View
        android:layout_height="1.5dp"
        android:background="#00FF00" />

</TableLayout>

展示:

四:网格布局(GridLayout)

1.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp" >
<!-- 网格布局 -->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:gravity="center"
        android:text="计算机"
        android:textSize="30sp" />

    <GridLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:columnCount="4"
        android:rowCount="6" >

        <EditText
             android:id="@+id/textView6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_columnSpan="4"
            android:layout_gravity="fill_horizontal"
            android:editable="false"
            android:focusable="false"
            android:gravity="right"
            android:text="0"
            android:textSize="20sp" />

        <Button android:text="AC"
            android:onClick="acClick"/>

        <Button android:text="+/-" />

        <Button android:text="%" />

        <Button android:text="+" />

        <Button android:text="7" />

        <Button android:text="8" />

        <Button android:text="9" />

        <Button android:text="x"
            android:onClick="anClick" />

        <Button android:text="4" />

        <Button android:text="5" />

        <Button android:text="6"
            android:onClick="bnClick" />

        <Button android:text="-" />

        <Button android:text="1"
            android:onClick="onClick" />

        <Button android:text="2" />

        <Button android:text="3" />

        <Button android:text="+" />

        <Button
            android:layout_columnSpan="2"
            android:layout_gravity="fill_horizontal"
            android:text="0" />

        <Button android:text="." />

        <Button android:text="=" />
    </GridLayout>

</LinearLayout>

2.Activity如下(这是我只写了几个按键可以按,作为例子):

//网格布局
public class GridLayout extends Activity {
    private EditText editText;
    private boolean lastClickIsNumber = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.grid_layout);
        editText = (EditText) findViewById(R.id.textView6);

    }

    public void acClick(View v) {

    }

    public void onClick(View v) {
        if (!lastClickIsNumber) {
            editText.setText("1");

        } else {
            String oldContent = editText.getText().toString().trim();
            oldContent += "1";
            editText.setText(oldContent);

        }
        lastClickIsNumber = true;
    }

    public void anClick(View v) {
        if (!lastClickIsNumber) {
            editText.setText("x");

        } else {
            String oldContent = editText.getText().toString().trim();
            oldContent += "x";
            editText.setText(oldContent);

        }
        lastClickIsNumber = true;
    }

    public void bnClick(View v) {
        if (!lastClickIsNumber) {
            editText.setText("6");

        } else {
            String oldContent = editText.getText().toString().trim();
            oldContent += "6";
            editText.setText(oldContent);

        }
        lastClickIsNumber = true;
    }

}

展示:

五.绝对布局(AbsoluteLayout)

xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp">
<TextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_x="100dp"
    android:layout_y="50dp"
    android:text="你好吗?"/>

<TextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_x="50dp"
    android:layout_y="100dp"
    android:text="我很好!"/>

<TextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_x="200dp"
    android:layout_y="100dp"
    android:text="真的吗?"/>

<TextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_x="100dp"
    android:layout_y="200dp"
    android:text="真的!"/>
</AbsoluteLayout>

展示:

到此结束,接下来我会介绍安卓的基本控件。

时间: 2024-08-29 17:26:47

安卓的主要几大布局的相关文章

【安卓笔记】抽屉式布局----DrawerLayout

效果如下: DrawerLayout来自support.v4包,所以不用考虑兼容性问题.其次,这种布局类似风靡一时的侧滑菜单,但是比侧滑菜单轻巧许多. 下面介绍这种布局的使用方式. 1.在你的项目中导入support.v4包. 2.编辑一个布局,根节点为android.support.v4.widget.DrawerLayout,此节点下只允许有两个子节点,第一个为将来主页面的内容,第二个节点即为"抽屉"内容,通常是一个ListView.比如: <android.support.

安卓学习记录 帧布局显示目录

it安卓 注意画红线部分 在eclipse 新版本5.1.1下编译 1)写一个类继承Fragement 2)对于menu中的XML   要注意 将android复制一下,然后将末尾改为res-auto,让其自动查询 3)在AndroidManifest.xml中 类要关联库 4)关联库 5)运行图 不同帧布局的菜单都不一样

安卓开发_九宫格布局

学习内容来自 android布局基础及范例:人人android九宫格布局 , 类似的九宫格 上面是图片,下面是文字 这里用的是“GridView”表格布局,下面我来给大家讲一下: 首先,请大家理解一下“迭代显示”这个概念,这个好比布局嵌套,我们在一个大布局里面重复的放入一些布局相同的小布局, 那些重复的部分是由图片和文字组成的小控件,图片在上方,文字在下方,之后我们只需要把这些小控件迭代进入主容器里即可. 首先看看主容器的布局 1 <?xml version="1.0" enco

安卓笔记-android五大布局

1.LinearLayout,线性布局     在android项目开发中最经常用到的线性布局,相比相对布局适配度高,不容易因界面改变而变形,LinearLayout可通过设置布局属性orientation来设置子元素水平(horizontal)或垂直排列(vertical) LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例,如果一个LinearLayout中含有俩个TextView控件.第一个TextView设置

安卓登录页面的布局

首先呢先让大家看一下整个登录页面 下面我依次讲解页面制作的步骤: 一.这个页面分为两个部分 1.背景 2.登录页面 二.整体的布局 这个页面所用的事嵌套布局,在线性布局里面嵌套的是相对布局,在大多数情况下,还是推荐用线性布局. 下面咱们先实现第一部分的代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"

安卓学习笔记 1 布局

线性布局:线性布局就是将各种控件按照行或者列依次进行排列.其中本实验用到的各控件的属性解释如下:android:layout_weight属性是指不同的控件在activity中占有体积大小的比例.android:paddingLeft指内边距左的距离,即控件内文字离控件左边边界的距离.其它的类推.android:gravity指控件内文字相对于控件本身的方向属性,长度为dip,与像素独立的长度.android:background为控件内文字颜色的背景色,颜色采用rgb时前面需用”#”号.and

安卓学习之二--布局

1.线性布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.an

关于安卓布局调试工具-hierarchyviewer

初学安卓,优化一个布局的性能是我接到的一个任务,网上略查了一下hierarchyviewer可以做到这个事,于是开始搞起. hierarchyviewer使用过程: 1.手机需要刷成开发版(稳定版里面的响应hierarchyviewer的某服务没有开启) 2.手机root(不是必须) 以上两步可以root精灵来完成,我这的设备是小米三,一些新出的机型root不了 3.安卓sdk目录下的tools/hierarchyviewer即为我们要使用的工具 4.打开手机app 5.运行hierarchyv

安卓详细布局分析-从根布局到具体布局

一,分析一下安卓程序的根布局是什么,我们写的xml文件部署到什么地方,setContentview(layout)是怎么回事. 安卓SDK的tools中提供了一个分析程序层次结构的工具:hierarchyviewer.bat.在这个工具中,你可以看到程序的真正的详细布局.接下来,我们分析一下,用新创建的项目. 二,打开hierarchyviewer.bat工具,运行一个新创建的项目. 二,安卓的根布局,或者说根屏幕到底是什么?   1.当点击根布局的时候,会在右下角显示一个红色的区域,对应着相应