Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。
Android 众多的布局属性详解
http://www.open-open.com/lib/view/open1328686184311.html
LinearLayout:
线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。
如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。
LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。android:layout_weight遵循数值越小,重要度越高的原则。
显示效果如下:
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff000000"
android:text="@string/hello" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ff654321"
android:text="1" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="#fffedcba"
android:text="2" />
</LinearLayout>
</LinearLayout>
frameLayout:
FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。
这个布局也可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff000000"
android:gravity="center"
android:text="1" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff654321"
android:gravity="center"
android:text="2" />
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#fffedcba"
android:gravity="center"
android:text="3" />
</FrameLayout>
FrameLayout就像web中iframe框架一样,是一个框架布局样式,可以用include标签载入定义的另一个layout文件,现在用一个ProgressBar的例子学习一下 FrameLayout。
首先,我们创建一个布局文件,res/layout/fullscreen_loading.xml, 其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center_vertical|center_horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent
android:id="@+id/fullscreen_loading"
android:visibility="gone"
>
<ProgressBar
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmall"
>
</ProgressBar>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:text="loading..."
>
</TextView>
</LinearLayout>
然后在main.xml 把它include 进来
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="vertical"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>
<include
android:visibility="visible"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
layout="@layout/fullscreen_loading"
>
</include>
</FrameLayout>
运行的效果为:
- 大小: 57.1 KB
- 大小: 49.9 KB
- 大小: 7 KB
分享到:
相关推荐
本文将深入解析Android的五大布局:LinearLayout、FrameLayout、RelativeLayout、AbsoluteLayout以及TableLayout。 首先,LinearLayout是最基础的布局方式,它按照垂直或水平方向顺序排列子元素。每个子元素都会紧...
总的来说,"Android软件开发之盘点界面五大布局源码gegei.rar"这份资料对于Android开发者来说是一份宝贵的资源,涵盖了Android界面设计的基础和核心,通过学习和研究,开发者可以进一步提升自己的技能,创造出更加...
Android提供了多种布局方式来满足不同的界面需求,其中最常用的五大布局为LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)和TableLayout(表格布局)...
Android 中的五大布局对象是指 FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout 和 TableLayout。这些布局对象是 Android 应用程序开发中最基本和最常用的布局方式。 FrameLayout FrameLayout 是最...
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 ...
本文将深入探讨Android的五大布局,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout),并结合`layout.xml`文件的使用,...
本篇文章将深入探讨Android的五大布局:LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),并提供源码范例来帮助理解。...
### Android五大布局详解 在Android应用开发过程中,布局设计至关重要,它决定了用户界面(UI)的外观与交互方式。本文将详细介绍Android五大基本布局对象:`FrameLayout`(框架布局)、`LinearLayout`(线性布局)、...
本教程将深入探讨Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、TableLayout以及AbsoluteLayout。 **1. FrameLayout布局** FrameLayout是最基础且简单的布局方式,它将所有子视图放在同一个位置...
Android SDK提供了5个布局类,分别是线性布局(LinearLayout)、绝对布局(AbsoluteLayout)、表格布局(TableLayout)、关系布局(RelativeLayout)和框架布局(FrameLayout)。每种布局类都有其特点和应用场景。 ...
本篇将探讨Android的五大布局案例,分别是线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout)。这些布局各有特点,适用于不同...
本文将详细介绍Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、GridLayout和ConstraintLayout。 1. **FrameLayout**: FrameLayout是最基础的布局,它允许你在屏幕上放置一个单一的、位于左上角...
以下是关于Android五大布局的详细解析: 1. **FrameLayout(框架布局)**:如其名,FrameLayout是一个基本的容器,用于放置单个视图或组件。在屏幕上,所有子元素都按照从上到下、从左到右的顺序叠加。第一个添加的...
### Android UI布局设计详解 #### 一、引言 在Android应用开发中,用户界面(User Interface, UI)设计是至关重要的环节之一。良好的UI不仅能够提升用户体验,还能增强应用的吸引力。本文旨在深入探讨Android UI布局...
本教程将深入探讨Android的五大主要布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)以及约束布局(ConstraintLayout),并提供实例来帮助理解其工作...
Android Layout 是 Android 应用程序的用户界面布局方式,总共有五种基本布局:LinearLayout、AbsoluteLayout、RelativeLayout、FrameLayout、TableLayout。每种布局都有其特点和应用场景,本文将对每种布局进行详细...
本教程将深入探讨Android的五大基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)以及约束布局(ConstraintLayout),并提供一个名为"layoutSample...
在Android开发中,界面设计是用户体验的关键因素...了解并熟练掌握这五种布局以及相关的辅助工具,是成为一名合格的Android开发者必备的技能。通过合理运用,你可以创建出满足各种需求的用户界面,提高应用的用户体验。