RelativeLayout与LinearLayout的区别
来源:互联网 发布:守望先锋优化设置 编辑:程序博客网 时间:2024/06/05 19:18
首先 ,简单介绍一下两位主角:
LinearLayout(线性布局):最常用的布局
这种布局在显示组件的时候会默认保持组件之间的间隔以及组件之间的互相对齐。线性布局显示组件的方式有两种方式:垂直和水平,是通过orientation来设定的。
RelativeLayout(相对布局): 第二常用的布局
它相对于线性布局来说比较灵活,在进行组件布局的时候用线性布局往往需要进行布局嵌套,而相对布局就不会那么麻烦,每个组件都可以指定与其它组件或父组件的位置。
另外三位布局顺便说一下:TableLayout(表格布局)、AbsoluteLayout(绝对布局)、FrameLayout(单帧布局)
本文主要通过一个很简单的例子,看看两者的区别:
<?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"> <RelativeLayout android:layout_width="match_parent" android:layout_height="48dp" android:background="@drawable/selector_btn_bar" android:paddingLeft="15dp" android:paddingRight="15dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="这个靠左" android:textSize="16sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text="这个靠右" android:textSize="16sp" /> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="48dp" android:background="@drawable/selector_btn_bar" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="15dp" android:layout_weight="15" android:text="这个靠左" android:textSize="16sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:text="这个靠右" android:textSize="16sp" /> </LinearLayout> </LinearLayout>
运行以上代码,选择一个虚拟机(Nexus 5)展示如下:
第一行是用相对布局实现,第二行是用线性布局实现,之所以能达到一样的效果是对线性布局中的两个TextView进行了比例调整。
如果换一个机型的话(Nexus 5)可能就会有变化了:
所以在这种情况下,线性布局明显不如相对布局好用,线性布局还是太死板了,还记得开头那句话吗:“在进行组件布局的时候用线性布局往往需要进行布局嵌套,而相对布局就不会那么麻烦”。就是这个意思。
0 0
- RelativeLayout与LinearLayout的区别
- linearLayout 和 relativeLayout的区别
- RelativeLayout与LinearLayout的比较
- RelativeLayout与LinearLayout的比较
- RelativeLayout与LinearLayout的比较
- linearLayout 和 relativeLayout的属性区别
- linearLayout 和 relativeLayout的属性区别
- linearLayout 和 relativeLayout的属性区别
- linearLayout 和 relativeLayout的属性区别
- linearLayout 和 relativeLayout的属性区别(转)
- 【转】linearLayout 和 relativeLayout的属性区别
- linearLayout 和 relativeLayout的属性区别
- LinearLayout与RelativeLayout的Selector问题
- RelativeLayout与LinearLayout的性能问题
- LinearLayout与RelativeLayout
- Linearlayout与Relativelayout布局回顾
- Android 布局 LinearLayout与RelativeLayout
- Android基础之LinearLayout与RelativeLayout的布局属性
- autoreleasing的用法介绍
- 转个博客园的jsonp,说的很透彻
- Python中easy_install安装
- __autoreleasing 修饰符
- java中FTP文件上传/下载
- RelativeLayout与LinearLayout的区别
- MFC显示位图
- jquery.form.js使用实例
- 动态链接库加载的两种方法
- MyEclipse10导入工程的时候,jsp报错问题
- vSphere5.1上进行无共享存储的在线迁移
- 文档流,定位
- ios开发ARC,IBOutlets之strong与weak
- Swift 第八课属性与方法