Activity布局初步 - 相对布局
1、 相对布局的基本概念
一个控件的位置它决定于它和其他控件的关系,好处:比较灵活;缺点:掌握比较复杂。
2、 相对布局常用属性介绍
这里将这些属性分成4个组,便于理解和记忆。
a)、以下4个属性设置控件与之间的关系和位置
但是上面4个属性并没有设置各个控件之间是否对齐。
示例1:将控件A放置在控件B的上面,则使用android:layout_above属性,控件布局的效果可以有以下这么两种情况。
1、 控件A与控件B对齐,并且控件A是在控件B的上面。
2、 控件A没有与控件B对齐,但是控件A又确实是在控件B的上面。
b)、以下5个属性,设置的是控件与控件之间对齐的方式(是顶部、底部还是左、右对齐)。
示例2:在示例1的基础上,设置控件A放置在控件B的上面,使用android:layout_above属性,并且控件A的左边边缘与控件B的左边边缘对齐,使用android:layout_alignLeft属性。
c)、以下4个属性设置控件与父控件之间对齐的方式(是顶部、底部还是左、右对齐)。
d)、以下4个属性设置控件的方向。
可以通过组合这些属性来实现各种各样的布局。
注:以上属性和其他更多属性的作用都能在android的帮助文档中找到;
示例3:假如要实现一个如下图这样布局的程序
如果这样的布局要使用LinearLayout的话会比较麻烦和复杂,
1、 首先需要一个垂直布局方向的LinearLayout,包裹所有的控件;
2、 然后在第一个LinearLayout中嵌套一个垂直方向的LinearLayout,放在上部分,在这个LinearLayout中放入一个TextView和EditText;
3、 最后还是在第一个LinearLayout中嵌套一个水平方向的LinearLayout,放在第一个LinearLayout的下部分,在这个LinearLayout中放入两个Button,并且还得让它们居右。
可参考下图:
如果使用RelativeLayout会要简单很多,下面为main.xml的代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10px"
>
<TextView
android:id="@+id/lable"
android:text="Type here:"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/entry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_below="@id/lable"
/>
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:layout_below="@id/entry"
android:layout_marginLeft="10px"
android:layout_alignParentRight="true"
/>
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/ok"
android:layout_alignTop="@id/ok"
android:text="Cancel"
/>
</RelativeLayout>
分享到:
相关推荐
在本文中,我们将深入探讨Android相对布局的使用及其实例。 相对布局的核心在于它的规则系统,通过设置视图与视图之间的关系,我们可以精确地控制每个元素的位置。例如,可以指定一个按钮位于父布局的底部,或者一...
android相对布局资源属性 包括各种位置 相对位置 布局 属性 的设置 和 例子
相对布局(RelativeLayout)是Android提供的一种布局方式,它允许视图组件相对于其他组件或布局边缘进行定位,提供了灵活的界面设计能力。下面我们将深入探讨相对布局的工作原理、特点、优势以及如何在实际开发中...
在相对布局中,每个组件都有一个或多个属性,如`android:layout_toLeftOf`、`android:layout_below`等,用于指定该组件与其他组件的关系。这种布局方式的优点在于灵活性高,可以创建复杂的相互依赖的布局,并且在...
《Android开发视频教程》第四集:android相对布局的使用.zip
在Android开发中,布局是构建用户界面的关键部分。其中,`RelativeLayout`是一种非常灵活的布局方式,它允许子视图根据其他视图的位置或者相对于其父容器的位置进行定位。通过使用一系列属性,开发者可以轻松地控制...
相对布局(RelativeLayout)是Android提供的一种布局方式,它允许视图相对于其他视图进行定位,从而实现灵活多样的界面设计。本练习项目是一个简单的石头剪刀布游戏,通过使用相对布局,初学者可以深入理解其工作...
在Android开发中,布局管理器是构建用户界面的关键组件,其中`RelativeLayout`是最常用和灵活的布局之一。本文将深入探讨`RelativeLayout`的基本用法,包括它的特点、优点以及如何在XML布局文件中配置和使用它。 `...
本文将深入探讨Android相对布局的使用及其重要性。 相对布局的核心特性在于它的定位规则。在相对布局中,每个子视图(View)都可以指定相对于另一个视图的位置,比如在上方、下方、左边或右边,也可以基于父视图的...
本篇文章将深入探讨两种最常用的布局管理器——线性布局(LinearLayout)和相对布局(RelativeLayout),它们是Android开发者必须掌握的核心知识。 线性布局是Android中最基础的布局方式,如同它的名字所示,它会...
线性布局(LinearLayout)和相对布局(RelativeLayout)是Android中两种最常用的布局管理器,用于控制应用程序界面中各个组件的排列和对齐方式。本篇文章将深入探讨这两种布局,并通过实例展示它们在实际应用中的...
在Android开发中,布局设计是应用界面的重要组成部分,其中相对布局(RelativeLayout)是最常用的一种布局方式。相对布局允许我们根据各个视图(View)之间的相对位置来安排它们,提供了更灵活的界面设计方式。本篇...
用Android Studio 2.3.3做的相对布局例子,主要用到的标签有:<RelativeLayout></RelativeLayout>;主要用到的设置有android:id、android:layout_below、android:layout_alignParentRight和android:layout_toLeftOf...
本篇文章将深入探讨相对布局(RelativeLayout)在Android中的使用,这是一种常见的布局方式,允许控件根据彼此的位置进行相对定位,提供了灵活的界面设计能力。 相对布局(RelativeLayout)是Android SDK提供的布局...
2. **相对布局(RelativeLayout)**:在相对布局中,每个视图的位置相对于其他视图而言。通过`alignParent`、`above`、`below`等属性定义视图之间的相对位置,适合创建复杂的布局结构。 3. **帧布局(FrameLayout)...
Android提供了多种布局类型,如LinearLayout(线性布局,水平或垂直排列)、RelativeLayout(相对布局,基于相对位置放置组件)、FrameLayout(帧布局,按顺序叠加组件)、TableLayout(表格布局)等。每种布局都有...
以下是对给定文件中提到的Android排版布局属性的详细解析,包括相对布局属性、控件之间位置大小属性以及填充控件大小属性。 ### 相对布局属性 相对布局允许控件基于其他控件或父容器的位置进行定位。这些属性允许...
这种布局方式灵活性高,但可能导致性能问题,因为解析相对布局需要更多的时间。 三、帧布局(FrameLayout) 帧布局允许子视图堆叠在一起,最后一个添加的视图会覆盖前面的视图。通常用于实现简单的覆盖效果,例如...
* android:layout_gravity:用来设置该 view 相对与起父 view 的位置。 * android:scaleType:控制图片如何 resized/moved 来匹对 ImageView 的 size。 Android XML 布局属性是 Android 应用程序中最基本也是最...
2. **相对布局(RelativeLayout)**:允许子视图相对定位,基于其他视图的位置或屏幕边缘。这提供了高度的灵活性,但可能导致复杂的依赖关系。 3. **帧布局(FrameLayout)**:简单地将子视图堆叠在一起,最后一个...