`

Layouts介绍

阅读更多

Layout管理器(一般称“layouts”)是ViewGroup的扩展,被设计用来控制子控件在屏幕上的位置。Layouts能相互嵌套,通过Layout管理器的结合,你可以创建任意复杂的界面。

 

Android SDK包含一些简单的Layout,帮助你构建UI。选择layout间正确的结合来使界面易于理解和使用就取决于你咯。

 

下面的列表包含了一些更通用的layout类:

 

FrameLayout

最简单的layout管理器,FrameLayout简单地将每一个View显示在左上角。增加多个子View时,新的View位于先前的上方,并且还遮盖先前的View

 

LinearLayout

LinearLayout用来沿着某一个直线方向增加子View,包括垂直的和水平的。垂直的layout每一行有一个孩子;而水平的layout只有一行。LinearLayout可以为每个子View指定“weight”,来控制在可获得的空间里每个子View的相对大小。


RelativeLayout

使用RelativeLayout,你可以定义每个子View相对于其它的View或屏幕边界的位置。

 

TableLayout

TableLayout允许你按照网格的行列来放置View。每格可以占据多个行和列,并且列可以设定为缩小或增长。


AbsoluteLayout

AbsoluteLayout里,每个子View的位置以绝对坐标进行定义。使用这个类,你可以为组件安排最精确的布局,但是有代价的。与之前的管理器比较而言,以绝对的坐标来定义layout意味着你的layout不能为不同的屏幕分辨率和方向进行动态调整。

 

Android文档详细的描述了每个layout的特性和属性,所以不在这里重复说明,我建议你可以参见:

 

http://code.google.com/android/devel/ui/layout.html.

 

在这章的后面,你会学习到如何通过扩展这些layout类来创建组合的控件(widget由一些互相联系的View组成)。

分享到:
评论

相关推荐

    java_FX-Intro-and-Layouts-.rar_java fx

    这是一个ppt给我们介绍了一下java FX的layout

    Exploring_The_Maze_Of_Memory_Layouts_Towards_Exploits.pdf

    在本文中,我们将介绍我们的解决方案迷宫,它能够将POC示例的不可利用内存布局转换为可利用布局,并在可能的情况下自动生成各种工作利用。通常,它首先使用程序分析技术来识别代码片段(表示为内存操作原语),这些...

    iOS8SelfSizingCells:在 iOS 8 中使用 Auto Layouts 引入的 Self Sizing Cells 示例以及错误自动计算 UILabel 的 preferredMaxLayoutWidth 的解决方法

    在 iOS 8 中使用 Auto Layouts 引入的Self Sizing Cells示例以及不正确自动计算 UILabel 的preferredMaxLayoutWidth的解决方法。 ##介绍 在 iOS 6 中,Apple 向 UILabel 添加了preferredMaxLayoutWidth属性,...

    one-line-layouts:简单CSS线可帮助构建现代布局

    介绍 该项目是使用简单有用CSS属性创建简单有用的布局的实现。 该项目的背景用例基于此链接 。 而且,我尝试使用UI Design Daily的真实设计参考来实现该用例,因此希望它可以更容易地理解如何创建该用例。 设计参考 ...

    custom-jekyll-layouts:使用 Jekyll 创建自定义布局的课程计划

    自定义 Jekyll 布局教程 这是我的 Jekyll 介绍课的起点。 每个部分都在自己的分支上。 首先,在命令行中输入git checkout part-1并开始破解!

    基于python-pptx库中文文档及使用详解

    个人使用样例及部分翻译自官方文档,并详细介绍chart的使用 一:基础应用 1.创建pptx文档类并插入一页幻灯片 from pptx import Presentation prs = Presentation() slide = prs.slides.add_slide(prs.slide_layouts...

    website:KyberVPK网站资源

    KyberVPK网站存储库快速介绍:新增个人资料检查私人media回购。项目结构public/是静态网站的根目录,是生成静态网站的位置content/托管模板中内置的所有页面内容themes/kvpk/是页面主题和视觉元素的根发展相关路径...

    hugo-embed-pdf-shortcode:雨果的简码(https

    雨果嵌入-pdf-短代码目录介绍 这是为在基于的网站中使用而开发的。 此短代码允许您将PDF文件嵌入到Hugo网站上的页面中。 它是由Mozilla使用库开发的。 设置[回到顶部] 注意:此短代码适用于基于Hugo的网站。 在其他...

    Android High Performance Programming

    building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; this book will show typical examples of code that exhausts battery life, how...

    Web标准的创造力(完整标签版+页码修正)

    The topics range from essential CSS typography and grid design, effective styling for CMS-driven sites, and astonishing PNG transparency techniques, to DOM scripting magic for creating layouts that ...

    note_other:书籍以外的各种笔记

    介绍 书籍以外的各种笔记 目录 规则 以学科为文件夹名 只存储markdown格式笔记 可使用工作副本拉笔记 不要在移动端补充读书笔记,因为要生成gitbook格式 尖端 让github page显示数字公式的方法: 应用系统主题,从中...

    log4j 使用说明 很信息

    1. 介绍 1.1. Log4j 是什么? Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也...

    log4j使用教程

    一:Log4j的组件介绍 A:)Log4j的三个重要组件—— Loggers, Appenders, Layouts 这三个组件协同的工作,使得开发者能够依据信息类别和级别去纪录信息,并能够 运行期间,控制信息记录的方式已经日志存放地点。 ...

    Coding Faster: Getting More Productive with Microsoft Visual Studio

    --------------介绍如下------------------ Expert advice to help you work smarter and increase your productivity with Visual Studio. Take a detailed look into Visual Studio—and learn practical ...

    xpmethod.github.io:xpmethod.github.io

    其中列出了除events以外的所有类别strain.html驱动单个应变视图,该视图列出了给定类别中的所有项目( events除外) project.html驱动单个项目视图尚无“项目”视图YAML标头本节介绍了网站的YAML分类标准中的字段。...

    Ext.JS.4.First.Look(第1版)

    内容介绍: Ext JS 4 is a JavaScript framework that provides resources to build Rich Internet Applications with great performance. Ext JS 4 has been packed with many new features and it is difficult ...

    Laravel中的Blade模板引擎示例详解

    本文主要给大家介绍了关于Laravel中Blade模板引擎的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧。 Blade 模板引擎 Blade 是 laravel 提供的一个简单强大的模板引擎,它是把 Blade 视图...

    clean:一页博客的极简Jekyll主题

    介绍 “清洁”是一个最小而简单的主题,略微受到Google的Material Design设计(悬浮在社交按钮上)的启发,并进行了调整,使其看起来更加清洁和中性。 使用清洁 安装 分叉GitHub存储库并将其克隆到您的本地计算机。 ...

    twig模板获取全局变量的方法

    简单介绍下,twig是一模板引擎,可以简化php的编写过程,提高效率。 而Symfony模板里,就自带了twig这一模板引擎。 twig的语法用的多的,也就三种,也是比较容易的 1、{{..}},这个在twig里是代表输出变量的意思,举...

    USB_Laptop_Keyboard_Controller:此存储库介绍了如何使用笔记本电脑键盘制作USB键盘

    USB_Laptop_Keyboard_Controller 此存储库包含使用旧笔记本电脑制作USB... Keyboard_Scanner_Eagle_Layouts文件夹 Keyboard_Scanner.brd EagleCad circuit board file for Teensy LC or 3.2. Keyboard_Scanner_LT.br

Global site tag (gtag.js) - Google Analytics