转自:http://blog.csdn.net/yihui823/article/details/6702312
线性布局。这个布局简单的说,就是所有控件都依次排序,谁也不会覆盖谁。线性布局需要定义一个方向,横向(android:orientation="horizontal")或纵向(android:orientation="vertical")。也就是说,控件要么就并排横向的排列,要么就纵向的笔直排列。
横向排列的示意图如下:layoutpic008
笔直排列的示意图如下:layoutpic009
因为是并排放置的,所以不会有相互覆盖的情况出现。
我们把上一章的例子,稍加改动,仅仅把FrameLayout改成LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="50dip"
android:textColor="#ffffff"
android:text="第一层"/>
<TextView
android:id="@+id/tv2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40dip"
android:textColor="#ffff00"
android:layout_toRightOf="@id/tv1"
android:text="第二层"/>
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30dip"
android:textColor="#ff00ff"
android:gravity="right"
android:text="第三层"/>
<TextView
android:id="@+id/tv4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textColor="#00ffff"
android:layout_centerVertical="true"
android:text="第四层"/>
</LinearLayout>
效果如下:layoutpic003
改动1
我们换成水平排列来看看。只改一行:
android:orientation="horizontal"
效果如下:
layoutpic004
晕了有木有?是不是发现不对劲啊?搞不定了,先出去抽支烟再说。
哦,忘了我不抽烟的,呵呵。其实很简单,我们控件的属性:android:layout_width="fill_parent"这就是说,第一个文本框的宽度就已经充满整个屏幕了,第二个文本框放在第一个文本框的右边,自然就看不到啦。
知道了原因,就改改。把四个文本框的宽度属性都改成:
android:layout_width="wrap_content"
再看看效果:layoutpic005
嗯。因为文字太宽了,第三个文本框为了显示完全,成了多行显示的文本了。第四个文本框直接就消失在屏幕之外了。我们按下“Ctrl + F11”,把虚拟机横过来,就可以看到下图:
layoutpic006
改动2
保持横屏不动。我们尝试把第二个文本框改成:
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dip"
android:textColor="#ffff00"
android:layout_below="@id/tv1"
android:text="第二层"/>
我们看看能不能让第二个文本框在第一个文本框的下面。显示结果表示:没变化。
改动3
我们尝试把第三个文本框改动下,加上边距:
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30dip"
android:textColor="#ff00ff"
android:gravity="right"
android:layout_margin="20dip"
android:text="第三层"/>
看看有效果没?有的啊:
layoutpic007
第三个文本框与其他控件以及父控件边缘,都保持了一定距离.(20dip不一定是20个像素哦,后面的文章我会仔细描述这个关系。)
总结
线性布局,同样没法直接控制控件的具体位置,以及相对的位置关系。每个控件都依次摆放。不过控件间的间距可以调整,控件也不会相互覆盖。线性布局可以嵌套使用,可以在一个纵向布局中加入一个横向布局。用这种嵌套方式,可以完成一些稍微复杂的页面。不过,当嵌套的情况使用的多了,并且嵌套的层次也多了,就会给维护带来非常大的麻烦。这个时候,就需要用更复杂的布局了。
相关推荐
Android 布局属性 RelativeLayout 是 Android 中常用的布局方式之一,通过它可以实现复杂的界面布局。下面是 RelativeLayout 的主要属性详解: 第一类:属性值为 true 或 false 1. android:layout_...
线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 相对布局(RelativeLayout):相对其它组件的...
### Android界面布局详解 在Android应用开发中,创建直观且响应迅速的用户界面(UI)是至关重要的。本文将深入探讨Android系统提供的五种基本布局类型:LinearLayout(线性布局)、TableLayout(表格布局)、...
### Android六大布局详解 #### 一、基本理论 在Android应用开发中,界面设计是非常重要的一个环节,良好的界面布局能够显著提升用户体验。Android系统提供了多种布局类型来满足不同场景下的需求,下面将详细介绍六...
### Android布局详解 #### 一、概述 在Android应用开发中,布局管理是构建用户界面的基础。合理且灵活地使用不同的布局方式可以帮助开发者创建出既美观又实用的应用界面。本篇文章将详细介绍Android中的几种基本...
这里,第二个View会占据三分之二的额外空间。 5. android:baselineAligned 默认情况下,具有相同基线的子视图会在LinearLayout中对齐。若设置为`false`,则忽略基线对齐,子视图顶部对齐。 6. android:divider 和 ...
线性布局是最基本也是最常用的布局方式之一。它会按照垂直方向(vertical)或水平方向(horizontal)排列子视图。在垂直方向排列时,每个子视图依次排列在上一个视图的下方;在水平方向排列时,每个子视图依次排列...
LinearLayout`、`android_0302_TableLayout`、`android_0304_RelativeLayout`、`android_0303_FrameLayout`可能对应着分别讲解这四种布局的示例代码或教程资源,通过学习这些实例,开发者可以更好地理解和掌握...
在Android应用开发中,界面布局是构建用户交互界面的关键步骤,而LinearLayout作为最基础的布局之一,对于开发者来说至关重要。本篇文章将深入探讨线性布局(LinearLayout)的使用方法、特性以及如何通过代码实现。 ...
本文将深入解析Android布局属性,特别是与RelativeLayout相关的属性。 首先,我们来看第一类属性,它们的值通常为true或false。这些属性主要用于元素在父布局中的对齐方式: 1. `android:layout_centerHorizontal`...
### Android布局详解 #### 一、概述 在Android应用程序开发中,布局是构建用户界面的基础。良好的布局设计能够显著提升用户体验。本文将详细介绍Android中的五种常见布局:FrameLayout(框架布局)、LinearLayout...
【Android布局文件详解】 在Android应用开发中,界面设计是一个至关重要的环节,而XML格式的布局文件正是构建这些界面的核心工具。布局文件定义了应用程序界面的结构,包括它所包含的控件、控件间的相对位置以及...
Android提供了多种布局类型,如LinearLayout(线性布局,水平或垂直排列)、RelativeLayout(相对布局,基于相对位置放置组件)、FrameLayout(帧布局,按顺序叠加组件)、TableLayout(表格布局)等。每种布局都有...
而"第三讲:Android的布局 20131218.pptx"很可能是详细的讲解材料,包含了关于LinearLayout和RelativeLayout的深入讲解,包括使用方法、属性详解以及最佳实践。 理解并熟练运用这些布局是Android开发的基础,也是...
### Android布局详解 Android应用程序开发过程中,布局设计是至关重要的环节之一。良好的布局不仅能够提升应用的用户体验,还能让开发者更高效地管理界面元素。本文将详细介绍Android中的各种布局属性及其作用,...
在Android开发中,布局管理器是构建用户界面的关键部分,其中相对布局(RelativeLayout)是一种常见的布局方式。相对布局允许我们根据各个视图之间的相对位置来安排它们,这为设计复杂且灵活的用户界面提供了可能。...
"android 五大布局详解" Android 中的五大布局对象是指 FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout 和 TableLayout。这些布局对象是 Android 应用程序开发中最基本和最常用的布局方式。 ...
【线性布局LinearLayout详解】 线性布局LinearLayout是Android开发中常用的一种布局方式,它遵循一个单一的行或列的方向来组织子视图。LinearLayout的主要特点在于它的简单性和灵活性,可以根据需求进行水平或垂直...