今天学习了几种Layout。
FrameLayout
FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。
LinearLayout
LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。 LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。
TableLayout
TableLayout将子元素的位置分配到行或列中。android的一个 TableLayout由许多的TableRow组成,每个TableRow都会定义一个row。 TableLayout容器不会显示row、cloumns或cell的边框线。每个row拥有0个或多个的cell;每个cell拥有一个 View对象。表格由列和行组成许多的单元格。表格允许单元格为空。单元格不能跨列,这与HTML中的不一样。
AbsoluteLayout
AbsoluteLayout可以让子元素指定准确的x/y坐标值,并显示在屏幕上。(0, 0)为左上角,当向下或向右移动时,坐标值将变大。AbsoluteLayout没有页边框,允许元素之间互相重叠(尽管不推荐)。我们通常不推荐使用AbsoluteLayout,除非你有正当理由要使用它,因为它使界面代码太过刚性,以至于在不同的设备上可能不能很好地工作。
RelativeLayout
RelativeLayout允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)。因此,你可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。如果使用XML来指定这个layout,在你定义它之前,被关联的元素必须定义。
用TableLayout实现了一个登录页面
res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/darkgray"
android:stretchColumns="1"
>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="2dip"
>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="账号 "
android:textColor="@color/black"
android:layout_margin="2dip"
/>
<EditText
android:id="@+id/name_in"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_margin="2dip"
/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="2dip"
>
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码"
android:textColor="@color/black"
android:layout_margin="2dip"
/>
<EditText
android:id="@+id/pwd_in"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:password="true"
android:layout_margin="2dip"
/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="2dip"
>
<TextView android:layout_margin="2dip" />
<CheckBox
android:id="@+id/cb_keep_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="记住密码"
android:textColor="@color/black"
android:layout_margin="2dip"
/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="2dip"
>
<TextView android:layout_margin="2dip" />
<Button
android:id="@+id/btn_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="登录"
android:textColor="@color/black"
android:layout_margin="2dip"
/>
</TableRow>
</TableLayout>
显示如下图
- 大小: 49.8 KB
分享到:
相关推荐
### Layout学习知识点详解 #### 一、概览与学习目标 **标题:“layout学习”** **描述:“layout入门必备,具体讲解行业标准工具virtuoso工具layout工作环境”** 本篇文档旨在为初学者提供一个关于集成电路(IC...
对于初次接触OrCAD Layout的新手用户来说,可以通过帮助菜单中的“学习Layout”选项快速上手,该教程对软件的基本操作进行了较为详尽的解释。本文假设读者已具备一定的OrCAD Layout基础操作能力。 ##### 创建新焊盘...
HFSS 3D Layout是一款由ANSYS公司推出的三维电磁场...同时,手册也提示用户注意,一些与HFSS共有的概念和操作细节(如WavePort、求解频率等),因篇幅限制并未在本手册中详述,需要用户结合HFSS的其他资料进行学习。
这个工具极大地简化了Bootstrap的学习曲线,让非程序员或初学者也能快速创建专业级别的网页布局。 1. **网格系统**:Bootstrap3的网格系统是其布局的基础,它采用12列的响应式布局,允许你通过简单的类添加到HTML...
微信小程序源码 FlexLayout布局(学习版)微信小程序源码 FlexLayout布局(学习版)微信小程序源码 FlexLayout布局(学习版)微信小程序源码 FlexLayout布局(学习版)微信小程序源码 FlexLayout布局(学习版)微信小程序源码 ...
Layout 6.0是一款专为电子爱好...总之,Layout 6.0 绿色汉化完整版是一个强大且用户友好的PCB设计工具,适合各种级别的电子爱好者和工程师使用,无论是在学习电路设计还是进行专业项目开发,都能提供高效且精准的支持。
学习Layout,你需要了解: - 创建PCB板的物理尺寸,设置层叠结构。 - 元器件放置,考虑散热、电磁兼容性等因素。 - 自动和手动布线技巧,如何优化布线以减少信号干扰。 - 使用DRC(设计规则检查)确保设计符合...
通过这个中文教程,学习者可以逐步理解HFSS 3D layout的设计原理,提高电磁仿真能力,从而在实际项目中更有效地进行高频结构设计。教程提供的清晰指导和深入解析,对初学者来说是一份宝贵的资源,有助于他们快速上手...
在Android开发中,布局动画(Layout Animation)是提升用户体验的重要手段之一。...通过学习和理解其基本原理、源码解析以及使用工具,开发者能够熟练地创建各种丰富的布局动画效果,从而提升应用程序的整体体验。
Layoutit是一款基于Bootstrap框架的在线布局工具,专为前端开发者和设计者打造,极大地简化了网页布局的...通过学习和熟练使用Layoutit,你可以提高工作效率,同时还能确保设计的页面符合现代Web开发的标准和最佳实践。
PADS LAYOUT 高级应用系列教程旨在为电子工程师和PCB设计工程师提供一个详细的学习资源,涵盖了PADS LAYOUT的高级应用知识点。以下是本篇教程的知识点摘要: 1. PADS LAYOUT 高级应用简介 PADS LAYOUT 高级应用(1...
在"08_layout_designer.rar"这个压缩包中,我们可以预见到它包含了关于QT布局设计师(QT Layout Designer)的学习资料。QT Layout Designer是QT Creator集成开发环境的一部分,提供了一个可视化的界面来设计和管理...
**jQuery UI Layout 插件详解** jQuery UI Layout 是一个强大的前端布局工具,它允许开发者创建复杂的、响应式的页面布局。这个插件通过简单的配置就能实现多面板、分隔的界面,使得网页内容能够灵活地组织和调整。...
《PADS Layout 视频教程 partB》是一个深入学习PADS Layout软件的宝贵资源,它涵盖了PADS Logic、Layout和Router三大核心模块。本教程旨在帮助电子设计工程师掌握这款强大的PCB设计工具,提高设计效率和质量。下面将...
同时,也可以学习到如何在实际项目中应用这些设置,以确保边框在设计和运行时保持一致。 总的来说,理解和调整Devexpress Layout Control的边框显示涉及到多个层次,包括控件属性、外观设置、主题应用以及可能的...
这个"jQuery UI Layout 中文文档包"包含了该插件的中文和英文说明,是学习和使用jQuery UI Layout的重要参考资料。 **主要内容** 1. **基本概念**:jQuery UI Layout 是一个容器管理器,它可以将HTML元素划分为多...
软件的帮助文件Sprint-Layout60.chm提供了详尽的使用指南和教程,为新用户提供了一个快速学习的渠道。通过阅读此帮助文件,即使是初次接触Sprint-Layout 6.0的设计师也能够迅速掌握软件的使用方法,尽快投入电路设计...
这份“Altuim Designer Layout 学习资料”提供了官方的学习资源,帮助用户掌握这一专业技能。 在“Module4PCBLayout.pdf”这个文件中,我们可以期待找到关于以下关键知识点的详细讲解: 1. **界面与工作流程**:...
通过这个官方教程,无论是初学者还是经验丰富的设计师,都能系统地学习和提升在Mentor PADS Layout上的专业技能,为高质量的PCB设计打下坚实基础。在实际学习过程中,建议结合具体项目进行实践,以加深理解和记忆。...