我的Android之路(一)——————布局

本文详细介绍了Android中的各种布局,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)、表格布局(TableLayout)、网格布局(GridLayout)及帧布局(FrameLayout)。文中解释了每种布局的特点、使用场景以及关键属性。

前言:

    本人的第一篇博客。只是单纯的说说我的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(帧布局):

       下一个控件会将上一个控件覆盖掉,你只能看到最新的控件。


写完了,知道写的不好。互相学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值