android中常见的五种布局有什么特点

 我来答
风刘才子爱生活
高能答主

2019-09-23 · 我是生活小能手,乐于助人欢乐多
风刘才子爱生活
采纳数:12 获赞数:31182

向TA提问 私信TA
展开全部

1,FrameLayout,特点:所有的View都会放在左上角,并且后添加进去的View会覆盖之前放进去的View。

2,LinearLayout,特点:在水平或者垂直方向上依次按照顺序来排列子元素,控件的排列顺序遵循其在布局文件中被写出的先后顺序。

3,RelativeLayout,特点:以某一个子元素为参照物,其余子元素均按照其相对位置来完成布局。

4,TableLayout,特点:每个TableLayout都是由一个或多个TableRow组成的,一个TableRow就代表TableLayout的一行。

5,AbsoluteLayout,表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。



扩展资料

开放性:

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。

开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

丰富的硬件:

这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。

参考资料:百度百科——Android

探寻星球菌
高粉答主

2019-09-17 · 探索宇宙星辰,分享科学知识
探寻星球菌
采纳数:295 获赞数:113316

向TA提问 私信TA
展开全部

1、FrameLayout

特点:所有的View都会放在左上角,并且后添加进去的View会覆盖之前放进去的View。

适用场景:在开发中常做容器使用,用于动态添加布局对象,比如浏览单张图片这类的。

2、LinearLayout

特点:在水平或者垂直方向上依次按照顺序来排列子元素,控件的排列顺序遵循其在布局文件中被写出的先后顺序。

适用场景:Android开发中最常见的 一种布局方式,值得注意的是LinearLayout中存在weight这一属性,在水平方向上代表列宽,在垂直方向上代表行距。一般这个值越大,则所占用的控件比例越大。

3、RelativeLayout

特点:以某一个子元素为参照物,其余子元素均按照其相对位置来完成布局。

适用场景:其属性很好的弥补了LinearLayout的缺点,在Android手机碎片化严重的今天,该布局是目前最推荐的一种布局方式,但也存在着一定的缺点,例如在修改了某一个控件的属性时,其他依赖于该控件的其他控件可能都需要修改其属性。

4、TableLayout

特点:每个TableLayout都是由一个或多个TableRow组成的,一个TableRow就代表TableLayout的一行。

适用场景:适用于多行多列的表格形式。需要注意的是,行和列的下标是从0开始的。

5、AbsoluteLayout

表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。

扩展资料:

布局(Layout)的概念是针对Activity的,Activity就是布满整 个Android设备的窗口或者悬浮于其他窗口上的交互界面。

在一个应用程序中通常由多个Activity构成,每个需要显示的Activity都需要在AndroidManifest.xml文件之中声明。通常情况下,开发人员可以使用两种方式来创建UI组件,一种方式是使用XML方式来配置UI组件的相关属性,然后装载这些UI组件,这也是最常用的方式。

但是有些特殊情况下,需要动态生成UI组件,则需要使用第二种方式,完全使用Java代码来创建UI组件。XML布局文件是Android系统中定义的Layout的常用方式,所有布局文件必须包含在res/layout目录中,且必须符合Java的命名 规范。

当在res/layout目录下新增了布局文件之后,R.java文件会自动收录该布局资源,Java代码可通过setContentView方法 在Activity中显示该Layout。

参考资料来源:百度百科-Android

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ok李博学
2016-09-08 · 超过13用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:11.9万
展开全部
五种布局方式,分别是:FrameLayout(框架布
局),LinearLayout
(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)

一、FrameLayout

这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。

二、LinearLayout

线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局
(android:orientation="vertical")和水平布局(android:orientation="horizontal"
)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。

三、AbsoluteLayout

绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x="20px"
android:layout_y="12px" 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦。

四、RelativeLayout

相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:

相对于某一个元素
android:layout_below="@id/aaa" 该元素在 id为aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左边是bbb

相对于父元素的地方

android:layout_alignParentLeft="true" 在父元素左对齐
android:layout_alignParentRight="true" 在父元素右对齐

还可以指定边距等,具体详见API

五。TableLayout

表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。

每一个布局都有自己适合的方式,另外,这五个布局元素可以相互嵌套应用,做出美观的界面。-----------------cvsyun
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乘滋心06
2021-01-02 · TA获得超过2006个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzwgy1
推荐于2017-11-22 · TA获得超过6.6万个赞
知道大有可为答主
回答量:6460
采纳率:54%
帮助的人:1404万
展开全部
LinearLayout(线性布局):
这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明为横向排放,也就是每个元素占一列。
LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。
LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。android:layout_weight遵循数值越小,重要度越高的原则。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff000000"
android:text="@string/hello"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff654321"
android:layout_weight="1"
android:text="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fffedcba"
android:layout_weight="2"
android:text="2"/>
</LinearLayout>
</LinearLayout>
步骤阅读
2
FrameLayout(单帧布局):
FrameLayout是五大布局中最简单的一个布局,可以说成是层布局方式。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。

<?xml version="1.0" encoding="utf-8"?> <FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff000000"
android:gravity="center"
android:text="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff654321"
android:gravity="center"
android:text="2"/>
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#fffedcba"
android:gravity="center"
android:text="3"/>
</FrameLayout>
步骤阅读
3
RelativeLayout(相对布局):
RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above, android:layout_centerVertical等。注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常。
RelativeLayout是Android五大布局结构中最灵活的一种布局结构,比较适合一些复杂界面的布局。

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/text_01"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#ffffffff"
android:gravity="center"
android:layout_alignParentBottom="true"
android:text="1"/>
<TextView
android:id="@+id/text_02"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#ff654321"
android:gravity="center"
android:layout_above="@id/text_01"
android:layout_centerHorizontal="true"
android:text="2"/>
<TextView
android:id="@+id/text_03"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#fffedcba"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式