`

Android五大布局(一)LinearLayout.FrameLayout

阅读更多
   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等)

    本文将深入解析Android的五大布局:LinearLayout、FrameLayout、RelativeLayout、AbsoluteLayout以及TableLayout。 首先,LinearLayout是最基础的布局方式,它按照垂直或水平方向顺序排列子元素。每个子元素都会紧...

    Android软件开发之盘点界面五大布局源码gegei.rar

    总的来说,"Android软件开发之盘点界面五大布局源码gegei.rar"这份资料对于Android开发者来说是一份宝贵的资源,涵盖了Android界面设计的基础和核心,通过学习和研究,开发者可以进一步提升自己的技能,创造出更加...

    浅谈Android五大布局.PDF

    Android提供了多种布局方式来满足不同的界面需求,其中最常用的五大布局为LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)和TableLayout(表格布局)...

    android 五大布局详解

    Android 中的五大布局对象是指 FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout 和 TableLayout。这些布局对象是 Android 应用程序开发中最基本和最常用的布局方式。 FrameLayout FrameLayout 是最...

    Android 五大布局方式详解

    Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 ...

    浅谈Android五大布局

    本文将深入探讨Android的五大布局,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout),并结合`layout.xml`文件的使用,...

    android 五大布局介绍附源码范例

    本篇文章将深入探讨Android的五大布局:LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),并提供源码范例来帮助理解。...

    Android基础教程(二)之五大布局对象

    ### Android五大布局详解 在Android应用开发过程中,布局设计至关重要,它决定了用户界面(UI)的外观与交互方式。本文将详细介绍Android五大基本布局对象:`FrameLayout`(框架布局)、`LinearLayout`(线性布局)、...

    Android开发教程之Android 五大布局--千锋培训

    本教程将深入探讨Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、TableLayout以及AbsoluteLayout。 **1. FrameLayout布局** FrameLayout是最基础且简单的布局方式,它将所有子视图放在同一个位置...

    设计android界面布局实用教案.pptx

    Android SDK提供了5个布局类,分别是线性布局(LinearLayout)、绝对布局(AbsoluteLayout)、表格布局(TableLayout)、关系布局(RelativeLayout)和框架布局(FrameLayout)。每种布局类都有其特点和应用场景。 ...

    Android 之 五大布局案例

    本篇将探讨Android的五大布局案例,分别是线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout)。这些布局各有特点,适用于不同...

    android_页面五大布局

    本文将详细介绍Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、GridLayout和ConstraintLayout。 1. **FrameLayout**: FrameLayout是最基础的布局,它允许你在屏幕上放置一个单一的、位于左上角...

    Android 五大布局

    以下是关于Android五大布局的详细解析: 1. **FrameLayout(框架布局)**:如其名,FrameLayout是一个基本的容器,用于放置单个视图或组件。在屏幕上,所有子元素都按照从上到下、从左到右的顺序叠加。第一个添加的...

    android 5大布局实例

    本教程将深入探讨Android的五大主要布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)以及约束布局(ConstraintLayout),并提供实例来帮助理解其工作...

    android的layout布局种类.pdf

    Android Layout 是 Android 应用程序的用户界面布局方式,总共有五种基本布局:LinearLayout、AbsoluteLayout、RelativeLayout、FrameLayout、TableLayout。每种布局都有其特点和应用场景,本文将对每种布局进行详细...

    Android五大基本布局demo

    本教程将深入探讨Android的五大基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)以及约束布局(ConstraintLayout),并提供一个名为"layoutSample...

    Android 界面五大布局

    在Android开发中,界面设计是用户体验的关键因素...了解并熟练掌握这五种布局以及相关的辅助工具,是成为一名合格的Android开发者必备的技能。通过合理运用,你可以创建出满足各种需求的用户界面,提高应用的用户体验。

Global site tag (gtag.js) - Google Analytics