第24讲 UI_布局 之帧布局 表格布局 绝对布局

3.
FrameLayout(
帧布局)

帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排序,后一个组件总会将前一个组件所覆盖,除非最后一个组件是透明的。

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Button1"   />

<Button

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="Button2"   />

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button3"   />

此布局通常用于软件的初始化页面,启动页面等。

属性名称

对应方法

说明

android:foreground

setForeground(Drawable)

设置该帧布局容器的前景图像

android:foregroundGravity

setForegroundGravity(int)

设置前景图像显示的位置

4. TableLayout(表格布局)

TableLayout(表格布局),顾名思义就是像表格一样布局,以行、列的方式布局子组件。TableLayout使用TableRow对象来定义多行。每个TableRow就是一行

<TableRow>

<Button android:text="Button1"/>

<Button android:text="Button2"/>

<Button android:text="Button3"/>      </TableRow>

<TableRow>

<Button android:text="Button4"/>

<Button android:text="Button5"/>

<Button android:text="Button6"/>      </TableRow>

<TableRow>

<Button android:text="Button7"/>

<Button android:text="Button8"/>

<Button android:text="Button9"/>      </TableRow>

 TableLayout中也有几个常用属性:

(1) android:shrinkColumns属性:以0为序,当TableRow里面的控件布满布局时,指定列自动延伸以填充可用部分;当TableRow里面的控件还没有布满布局时,shrinkColumns不起作用。

(2) android:strechColumns:以第0行为序,指定列对空白部分进行填充

(3) android:collapseColumns:以0行为序,隐藏指定的列

(4) android:layout_column:以0行为序,设置组件显示指定列。

(5) android:layout_span:以第0行为序,设置组件显示占用的列数。

 //16个按钮

<Button  android:id="@+id/one"        android:text="1"/>

<Button          android:id="@+id/two"          android:text="2"/>

<Button          android:id="@+id/three"      android:text="3"/>

<Button          android:id="@+id/devide"     android:text="/"/>

<Button          android:id="@+id/four"          android:text="4"/>

<Button          android:id="@+id/five"          android:text="5"/>

<Button          android:id="@+id/six"             android:text="6"/>

<Button          android:id="@+id/multiply"   android:text="×"/>

<Button          android:id="@+id/seven"       android:text="7"/>

<Button          android:id="@+id/eight"        android:text="8"/>

<Button          android:id="@+id/nine"         android:text="9"/>

<Button          android:id="@+id/minus"        android:text="-"/>

<Button          android:id="@+id/zero"         android:layout_columnSpan="2"   android:layout_gravity="fill"android:text="0"/>

<Button          android:id="@+id/point"        android:text="."/>

<Button          android:id="@+id/plus"          android:layout_rowSpan="2"  android:layout_gravity="fill"android:text="+"/>

<Button          android:id="@+id/equal"       android:layout_columnSpan="3"  android:layout_gravity="fill" android:text="="/>

5. AbsoluteLayout(绝对布局)

AbsoluteLayout(绝对布局),组件的位置可以准确的指定其在屏幕的x/y坐标位置。虽然可以精确的去规定坐标,但是由于代码的书写过于刚硬,使得在不同的设备,不同分辨率的手机移动设备上不能很好的显示应有的效果,所以此布局不推荐使用。

<Button

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="Button1"

android:layout_x="100dp"  />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Button2"

android:layout_y="100dp"   />

第24讲 UI_布局 之帧布局 表格布局 绝对布局的更多相关文章

  1. 第21/22讲 UI_布局 之 线性布局

    第21/22讲 UI_布局 之 线性布局 布局管理就是组件在activity中呈现方式,包括组件的大小,间距和对齐方式等. Android提供了两种布局的实现方式: 1.在xml配置文件中声明:这种方 ...

  2. 第23讲 UI_布局 之相对布局

    第23讲 UI_布局 之相对布局 .RelativeLayout(相对布局): RelativeLayout(相对布局)是指组件的位置总是相对兄弟组件.父容器来决定的(相对位置),如某个组件的左边右边 ...

  3. android的布局-----FrameLayout(帧布局)

    (-)帧布局简介 帧布局容器为每个加入的其中的组件创建一个空白的区域称为一帧每个子组件占据一帧,这些帧都会根据gravity的属性执行自动对齐 (二)属性 foreground:这是帧布局的前景图像 ...

  4. Android线性布局和帧布局

    第二次,本牛崽十分从容,今天咱们来讲讲Android Q之布局,我遇到的问题与自己学到的,大牛不要嘲笑哈,有错误可以指出来,本牛崽看到就改了. 今天我的学长跟我们开始了布局,布局看资料说好像有5种,又 ...

  5. Android开发5:布局管理器2(表格布局TableLayout)

    版本:Android4.3 API18  学习整理:liuxinming 概念      TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器.      表格布局采 ...

  6. 【Flutter学习】页面布局之列表和表格处理

    一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Padding.Center.Flex.Row.Colum.ListView.GridView.按照< ...

  7. CSS布局:Float布局过程与老生常谈的三栏布局

    原文见博客主站,欢迎大家去评论. 使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloa ...

  8. 转:CSS布局:Float布局过程与老生常谈的三栏布局

    使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloat属性布局.前者适合布局首页,因为 ...

  9. iOS:UICollectionView流式布局及其在该布局上的扩展的线式布局

    UICollectionViewFlowLayout是苹果公司做好的一种单元格布局方式,它约束item的排列规则是:从左到右依次排列,如果右边不够放下,就换一行重复上面的方式排放,,,,,   常用的 ...

随机推荐

  1. Highcharts教程2

    参数配置(属性+事件) chart.events.addSeries:添加数列到图表中. chart.events.click:整个图表的绘图区上所发生的点击事件. chart.events.load ...

  2. 使用带Arduino IDE & WIZ820io的ATmega1284P

    使用带Arduino IDE & WIZ820io的ATmega1284P 2013/07/04 | Filed under:   IO模块 and tagged with:   arduin ...

  3. leetcode:Palindrome Number (判断数字是否回文串) 【面试算法题】

    题目: Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could neg ...

  4. 浅谈C++中的那些内存泄露

    尽管学过C语言.可是C++里面的一些基础还是不太懂,还须要再掌握. 老范也開始要讲C++设计模式了,必须快点看了.不然就要白花窝滴钱了. 对于内存泄露,我的个人理解就是程序在执行过程中,自己开辟了空间 ...

  5. [React] React Router: Querystring Parameters

    Define query param in Link, accept path and query : const Links = () => <nav > <Link to= ...

  6. _getch() 和 getch() 及 _T()

    带下划线_的函数一般是函数库内部的函数,而不带下划线的一般是提供给用户使用的函数.带下划线的目的是为了防止用户定义的函数和函数库的函数重名冲突,所以直接使用也是可以的.要用getch()必须引入头文件 ...

  7. 苹果的HomeKit协议

    苹果的HomeKit协议非常底层,其作用仅限于让iOS平台和家居设备能够相互“握手”,但“认识”之后,想要继续控制灯.空调等设备,仍然需要家电厂商在HomeKit的基础上进行二次开发.

  8. linux 下文件的比较

    1.cmp命令,比较两个文件是否相同 比较文件test1和test2,如果这两个文件完全相同,则无任何输出,否则,输出第一处不同所在的字节以及行号,然后忽略后面的不同之处,退出命令的执行. [root ...

  9. LINUX增加并管理用户

    使用groupadd命令增加新的用户组 使用useradd命令增加新用户: useradd -s /bin/bash -d /home/XXX -g group username 使用passwd修改 ...

  10. SignalR2.0开发实例之——设置时间、后台其他地方使用集线器、使用自己的连接ID

    一.连接的生命周期设置: 如下: // 该值表示连接在超时之前保持打开状态的时间长度. //默认为110秒 GlobalHost.Configuration.ConnectionTimeout = T ...