码迷,mamicode.com
首页 > 移动开发 > 详细

《Android第一行代码》学习记录007 - 4种基本布局

时间:2015-10-20 19:23:04      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

一、关于布局

  • 布局是用于放置控件的容器
  • 布局可以嵌套,所以可以通过布局完成比较复杂的界面实现

二、4种布局方式总览

  • LinearLayout: 即线性布局,非常常用
  • RelativeLayout: 即相对布局,非常常用
  • FrameLayout: 即桢布局,应用场景比LinearLayout和RelativeLayout少很多
  • TableLayout: 即表格布局,不常用

三、LinearLayout需要注意的地方

1、关于布局方向,因为是线性的,所以有方向,在布局页面中通过android:orientation属性进行设定

  • 垂直方向: android:orientation="vertical"
  • 水平方向: android:orientation="horizontal"

2、关于容易混淆的两个属性: 

  • android:layout_gravity: 指定控件在布局中的对齐方式
  • android:gravity: 指定控件中的文字在控件中的对齐方式

3、关于自适配与android:layout_weight属性

  • android:layout_weight属性允许我们使用比例的方式来指定的控件的大小,在屏幕的适配方面起到非常重要的作用

四、RelativeLayout虽然使用的属性很多,但是总结起来有三类

  • 以父布局为参照对象: layout_alignParentLeft | layout_alignParentRight | layout_alignParentTop | layout_alignParentBottom | layout_centerInParent
  • 以某控件为参照对象: layout_above | layout_below | layout_toLeftOf | layout_toRightOf
  • 以某控件的边缘为参照对象: layout_alignLeft | layout_alignRight | layout_alignTop | layout_alignBottom

五、FrameLayout布局很奇怪,它没有任何定位方式,所有的控件都会放在布局的左上角,那个这种布局方式的应用场景是什么呢?

六、TableLayout需要注意的地方

  • 用<TableRow></TableRow>指定行节点;
  • 列是不用指定的,只要在TableRow中添加一个控件,就添加了一列;
  • TableRow中的控件不能指定宽度,通过android:stretchColumns属性来解决这个问题
  • 如果某一行的列数和其他行不同时,那么要通过android:layout_span属性来合并单元格

TableLayout的示例代码

<TableLayout xmlns:android="http://schema.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="1" >
        <TableRow>
                <TextView
                        android:layout_height="wrap_content"
                        android:text="Account:" />
                <EditText
                        android:layout_height="wrap_content"
                        android:hint="Input your account" />
        </TableRow>
        <TableRow>
                <TextView
                        android:layout_height="wrap_content"
                        android:text="Password:" />
                <EditText
                        android:layout_height="wrap_content"
                        android:inputType="textPassword" />
        </TableRow>
        <TableRow>
                <Button
                        android:id="@+id/login"
                        android:layout_height="wrap_content"
                        android:layout_span="2"
                        android:text="Login" />
        </TableRow>
</TableLayout>

 

《Android第一行代码》学习记录007 - 4种基本布局

标签:

原文地址:http://www.cnblogs.com/matclone/p/4895598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!