前言:
本人的第一篇博客。只是单纯的说说我的Android之旅。可能有错的,也可能有对你们有点帮助的。错的请各位大神提出来。谢谢各位大神!!!可能写的比较乱、有的说的不是很通俗易懂。但是我尽力,以后会越写越好的。
我感觉Android没什么东西,就是一大堆的控件。给这个控件设置监听,给那个控件写写适配器。
首先就是布局了:
什么是布局? 布局就是一个模板,管理你所看到的UI控件的方框。
说说所有控件的必须属性:
宽:通过layout_width属性设置,给该控件设置一个宽。
高:通过layout_height属性设置,给该控件设置一高。
宽和高的值:①.math_parent匹配父窗口。它的父控件有多大它就显示多大。②.wrap_content包裹内容。它的子控件有多大他就显示多大。③自定义大小.XXXdp固定大小。
id:给该控件生成一个id。该id的值要符合java标识符的命名规范。
说到id就要说说生成id和取id了。生成id通过@+id/XXX,取id通过@id/XXX。
一、LinearLayout(线性布局):
最简单、最常用的布局。它可以设置权重属性来显示控件,还可以设置排序方式。
什么是权重?
该属性是给LinearLayout的子控件设置的。 通过weight属性来设置权重。我的理解就是按比例等分,它的值直接是数字。比如说布局中有2个控件,分别给它们设置权重属性都为1。那么这2个控件各占父布局的一半。
设置排序方式
该属性是给LinearLayout设置的,控制它子控件的排序方式。通过orientation属性来设置排序方式。它的值有2个:水平(horizontal)、垂直(vertical)。LinearLayout的默认排序方式为垂直。
二、RelativeLayout(相对布局):
最灵活的布局。它可以根据父控件定位,也可以根据兄弟组件定位。在RelativeLayout中每个控件必须生成id,且被参照的控件必须先定义。通过属性控制控件的位置。
根据父控件定位:
layout_alignParentLeft————左对齐 值为控件id
layout_alignParentRight————右对齐 值为控件id
layout_alignParentTop————顶部对齐 值为控件id
layout_alignParentBotton————底部对齐 值为控件id
layout_centerHorizontal————水平居中 值为boolean值,一般为true
layout_centerVertical————垂直居中 值为boolean值,一般为true
layout_centerInParent————中间位置 值为boolean值,一般为true
根据兄弟组件定位: 值全为控件id
layout_toLeftOf————参考组件的左边
layout_toRightOf————参考组件的右边
layout_above————参考组件的上方
layout_below————参考组件的下方
layout_alignTop————于参考组件的上边界对齐
layout_alignBottom————于参考组件的下边界对齐
layout_alignLeft————于参考组件的左边界对齐
layout_alignRight————于参考组件的右边界对齐
三、AbsoluteLayout(绝对布局) 已过期
通过x,y直接指定子元素的绝对位置,比较局限。每个手机的大小都不一样,这种指定方式不适用于任何手机。
说到x,y就要说说手机的x轴和y轴。在手机上只有正方向,手机的左上方为原点。
接着说绝对布局。
layout_x————子控件的x位置
layout_y————子控件的y位置
虽然被淘汰,还是说一下吧。(虽然我从来没用过.................)
四、TableLayout(表格布局):
它是LinearLayout的子类,所以LinearLayout的特征它也具有。如果直接添加组件,该组件将占满一行。若一行中想要多列,添加一个TableRow容器。
常用属性:
collapseColumns————隐藏指定的列
shrinkColumns————收缩列适合屏幕,不会被超出屏幕
stretchColumns————尽量将列填充空白部分
layout_column————控件放在指定的列
layout_span————该控件所跨越的列数
五、GridLayout(网格布局):
是Android4.0后新推出的布局,在该布局内可以不为组件设置宽高属性。
常用属性:
orientation————设置组件的排列方式 vertical(垂直,默认)、horizontal(水平)
rowCount————设置网格布局的行数
columnCount————设置网格布局的列数
layout_row————设置组件位于第几行 该值是从0开始计算的
layout_column————设置组件位于第几列 该值是从0开始计算的
layout_rowSpan————纵向跨几行
layout_columnSpan————横向跨几列
六、FrameLayout(帧布局):
下一个控件会将上一个控件覆盖掉,你只能看到最新的控件。
本文详细介绍了Android中的各种布局,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)、表格布局(TableLayout)、网格布局(GridLayout)及帧布局(FrameLayout)。文中解释了每种布局的特点、使用场景以及关键属性。
1916

被折叠的 条评论
为什么被折叠?



