第三章 界面UI的基石—UI布局(3)

3.2.4框架布局(FrameLayout)

FrameLayout是五大布局中最简单的一个布局,也称为层布局或者是帧布局。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,层叠式排列。此布局无法控制子控件的大小和位置,但是子控件自身可以控件其大小和位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。此布局通常用于游戏或者处理一些画廊程序。

我们也以一个简单的例子来说明。


<?xml version="1.0" encoding="utf-8"?>

<FrameLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextView

android:layout_width="200dp"

android:layout_height="200dp"

android:background="@android:color/white"

android:gravity="bottom|center_horizontal"

android:text="text"

android:textColor="@android:color/black"/>

<ImageView

android:layout_width="100dp"

android:layout_height="100dp"

android:background="@drawable/icon"/>\

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="确定"/>

</FrameLayout>

效果图如图3-6所示。

图3-6FrameLayout框架布局(一)

我们可以看到,这些控件一个个全叠加在左上角,并且一层覆盖一层。接着我们通过layout_gravity属性来改变他们的位置再来看一下。


<?xml version="1.0" encoding="utf-8"?>

<FrameLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextView

android:layout_width="200dp"

android:layout_height="200dp"

android:background="@android:color/white"

android:layout_gravity="right"

android:gravity="bottom|center_horizontal"

android:text="text"

android:textColor="@android:color/black"/>

<ImageView

android:layout_width="100dp"

android:layout_height="100dp"

android:layout_gravity="center_horizontal"

android:background="@drawable/icon"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:layout_marginTop="20dp"

android:text="确定"/>

</FrameLayout>

效果如图3-7所示。

图3-7FrameLayout框架布局(二)

时间: 2024-10-07 12:27:06

第三章 界面UI的基石—UI布局(3)的相关文章

第三章 界面UI的基石—UI布局(1)

第三章界面UI的基石-UI布局 上一章我们一起学习了Android中的常用组件及一些UI编程的技术.在此基础上,我们就可以将这些组件有效的组织起来,构成一个美观.合理的界面. 在本章,我们先来详细说明Android中UI的几种布局,通过这几种布局就能将组件有效的组合到一起.然后说明在Android开发中如何应用样式和主题,通过样式和主题,可以预定义一系列的属性值,使整个应用程序形成统一的显示风格. 3.1用户界面的基本单元-View视图 在Android SDK中,View(视图)类是视图类的一

[看书][CSS精粹(第2版)]第三章 CSS和图像 & HTML网页布局

本章主要讲述作为背景图像方面的技巧. 1.边框(添加边框样式.去除边框): 2.为页面设置背景图像,位置设定,固定背景图像: 3.为任意元素设置背景图像: 4.文字放在图像的上面(作为背景图像): 5.为文档添加多个背景图像(本例利用html和body元素产生多重背景图像的效果): 6.在页面中使用透明效果(使用PNG格式图像). 利用网络搜索补充学习了padding的4个方向顺序(上右下左 顺时针),流式布局(看网上的解释结合书里的描述,大概是指页内布局元素采用百分数指定位置和大小). [个人

第三章 界面UI的基石—UI布局(2)

3.2百花齐放-各种Layout布局 3.2.1Layout布局的简单介绍 一般的,一个Android视图中会有很多的控件.为了界面的合理.美观,我们需要让它们按照我们设计好的思路排列在界面上,那么,我们就需要容器来存放这些控件,并控制它们的位置排列,就像HTML中的div.table一样,Android布局也起到了同样的作用. Android布局有很多种,它们各有各的特点,分别应用在不同的场合,而且可以嵌套使用.我们要根据我们的界面设计选择合适的布局,可能有些时候不同的布局可以达到同样的效果,

第三章 界面UI的基石—UI布局(5)

3.3样式(Style)和主题(Theme)的使用 3.3.1样式(Style)的使用 不管是应用开发还是游戏开发,我们开发出来的产品,大部分的时候还是要让更多的人来使用的.因此,除了功能上的完善之外,布局上的合理而美观也是我们需要考虑的问题.Style和Theme的设计就是提升用户体验的关键之一. Style和Theme都是为了改变样式,但是二者又略有区别: 1)Style是针对窗体元素级别的,改变指定控件或者Layout的样式. 2)Theme是是针对窗体级别的,改变窗体样式. 它们的使用是

第三章 界面UI的基石—UI布局(4)

3.2.5表单布局(TableLayout) TableLayout,即表单布局,以行和列的形式管理控件.每行为一个TableRow对象,也可以为一个View对象.当为View对象时,该对象将横跨该行所有列. 同样的,我们也以一个简单的例子来加以说明,看完例子之后相信大家对TableLayout的应用会有一个比较全面的了解. <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:andr

Android界面编程——Android高级UI组件(三)

Android界面编程 Android高级UI组件 2.4.1适配器组件 适配器的作用 适配器充当适配器控件和该视图数据之间的桥梁.适配器提供访问的数据项,并负责产生数据组中的每个项的视图. 常用的适配器 BaseAdapter:抽象类,具有较高的灵活性. ArrayAdapter:最为简单,智能展示一行文字. SimpleAdapter:有较好的扩充性,可以自定义出各种效果. SimpleCursorAdapter:主要用于操作数据库. 常用的适配器控制 适配器控件扩展自ViewAdapter

第二章 吸引你的眼球—UI编程(1)

第二章 吸引你的眼球-UI编程 学习Android应用程序的开发技术,除了先要熟悉相关工具以外,最直接的,就是学习如何使用各种UI组件.我们开发的应用程序,一般都会包含一组用户可见的界面,而这些界面就是由一个个的AndroidUI组件组成的.我们在学习界面开发技术的过程中,首先就要熟悉这些组件,然后才能将它们有效的组织起来,构成一个美观.合理的界面. 本章会先详细讲解一些常用的UI组件,及如何自定义组件,然后会说明一些其它常用的UI编程技术. 2.1 UI基础-常用UI组件 Android的组件

Android教材 | 第三章 Android界面事件处理(二)—— 杰瑞教育原创教材试读

 编者按 JRedu 杰瑞教育原创系列教材将于年后与大家正式见面.为更好的借鉴读者意见,我们将会陆续地在博客园推出一系列教材试读.我们也热忱的欢迎广大博友与我们互动,提出宝贵意见. 本篇博客将推出教材第三章第二部分的试读(传送门:第一部分),请大家继续提出宝贵意见,我们也将为积极互动的博友,免费提供我们的原创教材以及更多福利,也欢迎大家加入最下方QQ群与我们交流,谢谢大家! 3.5 系统设置事件处理 3.5.1onConfigurationChanged响应事件 在App开发过程中,有时候需要获

Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线程更新UI界面

目录: Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理 Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面 概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainTh