摘要:常用属性为设置改帧布局容器的前景图像,什么是前景图像,前景图像是永远处于帧布局容器的最上面的图像,就是不会被覆盖的图片。帧布局指所有子控件均放在左上角且后面元素直接覆盖在前面元素之上。
在Android中提供了几个常用布局:
LinearLayout
线性布局RelativeLayout
相对布局FrameLayout
帧布局AbsoluteLayout
绝对布局TableLayout
表格布局GridLayout
网格布局TableLayout
是将子类向分别排列成行和列的布局视图容器,TableLayout
是由许多TableRow
对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个TableRow
或者View
对象。
在TableLayout
中可以通过setConlumnShrinkable()
或setConlumnStretchable()
方法来指定某些列为可以缩小或可伸缩,列是从0开始计数的,第一列为0。
常用的几种属性:
stretchColumns
为设置运行被拉伸的列的序号,如android:stretchColumns="2,3"
表示在第三列的和第四列的一起填补空白,如果要所有列一起填补空白,则用“*”
符号,列号都是从0开始算的。
shrinkColumns
为设置被收缩的列的序号,收缩是用于在一行中列太多或者某列的内容文本过长,会导致某列的内容会被挤出屏幕,这个属性是可以帮助某列的内容进行收缩,用于防止被挤出的。
android:collapseColumns
为设置需要被隐藏的列的序号,使用该属性可以隐藏某列。
android:layout_column
为为该子类控件显示在第几列。android:layout_column="2"
表示跳过第二个,直接显示在第三个单元格内。
android:layout_span
为为该子类控件占据第几列。android:layout_span="3"
表示合并3个单元格,就是这个组件将占据3个单元格。
效果如图:
android:collapseColumns = "0,2"
,用于隐藏第一列和第三列,代码如下:
stretchColumns拉伸列
android:stretchColumns = “1”
,设置为第二列为可拉伸列的列,让该列填满这一行所有的剩余空间,也就是在整个父宽度的情况在,放几个按钮,剩下的空间宽度将用第二列填满,代码如下:
shrinkColumns收缩列
android:shrinkColumns="1"
表示将第二列的内容进行收缩,如果屏幕的额宽度包容不下的话,就会拿第二列进行收缩,就是压扁,拉长。如同上代码进行修改即可,多加些内容,让其文本内容超出屏幕吧!
GridLayout
网格布局是在Android 4.0
以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列,也可以设置布局中的组件的排列方式,也可以设置组件的位置,横跨多少行,多少列。
android:orientation
用于设置vertical
竖直或horizontal
水平。
android:layout_gravity
为设置对齐方式,可以设置center,right,left
等。
android:rowCount
为可以设置行数,要多少行设置多少行,如android:rowCount="2"
为设置网格布局有2行。
android:columnCount
为可以设置列数,要多少列设置多少列,如android:columnCount="2"
为设置网格布局有2列。
android:layout_row
为设置组件位于第几行,从0开始计数的,如android:layout_row="1"
为设置组件在第2行。
android:layout_column
为设置组件位于第几列,从0开始计数的,如android:layout_column="1"
为设置组件在第2列。
android:layout_rowSpan
为设置组件横跨几行,如android:layout_rowSpan="2"
为纵向横跨2行。
android:layout_columnSpan
为设置组件横跨几列,如android:layout_columnSpan="2"
为橫向横跨2列。
注意事项:低版本sdk是如何使用
GridLayout
的呢?要导入v7包的gridlayout
包即可,因为GirdLayout
是4.0后才推出的,标签代码。
FrameLayout帧布局
FrameLayout
帧布局是什么样的呢?所有子控件都放在左上角且后面元素都是直接覆盖在前面元素之上一种布局模式。
常用属性:
android:foreground
为设置改帧布局容器的前景图像,什么是前景图像,前景图像是永远处于帧布局容器的最上面的图像,就是不会被覆盖的图片。
android:foregroundGravity
为设置前景图像显示的位置。
用帧布局可以做出霓虹灯的效果,即为每个TextVeiw
设置layout_gravity="center"
即可,即可以看到不一样的效果。
AbsoluteLayout
绝对布局是通过x,y
位置来为子控件设置位置的,即android:layout_x和android:layout_y
属性。
由于绝对布局不常见,不常用,因为在不同大小的适配屏幕上的位置直观上会变化,适应能力差,所以不建议使用。
RelativeLayout相对布局RelativeLayout
是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。
这里简单温习一下相关属性即可:
android:layout_below
为位于某控件下方,以id为标记
android:layout_above
为位于某控件上方,以id为标记
android:layout_toLeftOf
为位于某控件左方,以id为标记
android:layout_toRightOf
为位于某控件右方,以id为标记
android:layout_alignBottom
为与某控件底部对齐,以id为标记
android:layout_alignTop
为与某控件顶部对齐,以id为标记
android:layout_alignLeft
为与某控件左边缘对齐,以id为标记
android:layout_alignRight
为与某控件右边缘对齐,以id为标记
android:layout_alignBaseline
为与某控件的文本内容在一条直线上
android:layout_alignParentBottom
为在父容器最下,为true或false
android:layout_alignParentTop
为在父容器最上,为true或false
android:layout_alignParentLeft
为在父容器最左,为true或false
android:layout_alignParentRight
为在父容器最右,为true或false
android:layout_marginTop
为和父容器上端的距离,单位为dp
android:layout_marginBottom
为和父容器下端的距离,单位为dp
android:layout_marginLeft
为和父容器左端的距离,单位为dp
android:layout_marginRight
为和父容器右端的距离,单位为dp
android:layout_margin
为和父容器四周的距离,单位为dp
android:layout_centerVertical
为在父类的垂直居中,为true或false
android:layout_centerHorizontal
为在父类的水平居中,为true或false
android:layout_centerInParent
为在父类的水平垂直居中
线性布局:
指子控件以水平或垂直方式排列。
相对布局:
指子控件以控件之间的相对位置或子控件相对于父容器的位置排列。
帧布局:
指所有子控件均放在左上角且后面元素直接覆盖在前面元素之上。
绝对布局:
指子控件通过绝对定位x,y位置来决定其位置摆放。
表格布局:
指以行列的形式放置子控件,每一行是一个TableRow对象或者View对象。
Java
、 Android
中的其他知识 深入讲解 ,有兴趣可以继续关注文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/2819.html
摘要:在中提供了几个常用布局线性布局相对布局帧布局绝对布局表格布局网格布局描述一下几个重要的线性布局指子控件以水平或垂直方式排列。帧布局指所有子控件均放在左上角且后面元素直接覆盖在前面元素之上。 UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的。View是绘制在屏幕上能与用户进行交互的一个对象。而对于ViewGroup来说,则是一个用于存放其他...
摘要:使用来标识数据集,这里的是唯一的,以作为前缀,表示该数据由来管理。帧布局为每一个加入其中的组件创建一个空白区域,每个子组件占据一帧,这些帧根据属性执行自动对齐。这可能是由于图片过大造成的。Android四大组件 1、Activity a、Activity是指与用户交互的界面。 b、一个Activity通常就是一个单独的屏幕(窗口)。 c、Activity之间通过Intent传递数据。 2、s...
摘要:六大布局之简介表格布局是将子分别排列成行和列的布局,是由许多对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个或者对象。 前言 Hi,大家好,新的一周开始啦,让我们继续遨游在Android的知识海洋中吧!上一次我们讲到了RelativeLayout,相信不少小伙伴已经着手实战,那么今天我们为大家带来六大布局中剩下的三个布局。本篇文章可以和前面的FrameLayout一同归类到...
摘要:也会学到一些布局如线性布局,相对布局,帧布局,绝对布局,表格布局,网格布局,约束布局。线性布局相对布局表格布局属性结构为整个应用的主配置,清单文件,应用的包名版本号组件权限等信息。 版权声明:未经博主允许不得转载 在Android中我们常常用到很多UI控件,如TextView,EditText,ImageView,Button,ImageButton,ToggleButton,Check...
阅读 1096·2021-11-17 09:33
阅读 2279·2021-10-08 10:17
阅读 678·2021-10-08 10:04
阅读 1630·2021-09-06 15:02
阅读 2420·2019-08-29 17:30
阅读 2554·2019-08-29 13:24
阅读 1373·2019-08-29 11:12
阅读 3235·2019-08-28 17:52