`
runfeel
  • 浏览: 936302 次
文章分类
社区版块
存档分类
最新评论

安卓开发06:布局-线性布局 LinearLayout

 
阅读更多

LinearLayout把视图组织成一行或一列。子视图能被安排成垂直的或水平的。线性布局是非常常用的一种布局方式。

请看一个布局例子:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- 大的框架,横着布局 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <!-- 线性布局-竖着布局 -->

        <LinearLayout
            android:layout_width="100dp"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button1" />

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button2" />
        </LinearLayout>

        <!-- 线性布局-横着着布局 -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button3" />

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button4" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

效果图:


线性布局框架的一个属性表:

属性 描述
layout_width 指定View或ViewGroup的宽度
layout_height 指定View或ViewGroup的高度
layout_marginTop 指定View或ViewGroup上方的额外空间
layout_marginBottom 指定View或ViewGroup下方的额外空间
layout_marginLeft 指定View或ViewGroup左侧的额外空间
layout_marginRight 指定View或ViewGroup右侧的额外空间
layout_gravity 指定View或ViewGroup中的子视图的排列位置
layout_weight 指定指派给View或ViewGroup的额外空间尺寸
layout_x 指定View或ViewGroup的x坐标
layout_y 指定View或ViewGroup的y坐标


可以看到layout_width和layout_hight中经常有fill_parentwrap_contentmatch_parent来区分宽度和高度。这三者什么区别呢?

fill_parent

设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。

wrap_content

设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。

match_parent

Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了

视图和视图组概念:

视图:就是显示在屏幕上的一个组件(Widget)。View的例子:按钮(Button)、标签(TextView)和文本框(EditText)。每个“视图”(View)都继承自基类android.view.View。

视图组:可以包含一个或多个View。ViewGroup本身就是一种特殊的View,它提供了一个布局,可以使用这个布局去组织一系列的View视图。LinearLayout和FrameLayout。每个“ViewGroup”都继承自基类android.view.ViewGroup

分享到:
评论

相关推荐

    菜鸟Android开发系列之:线性布局

    在Android应用开发中,线性布局(LinearLayout)是开发者最常用的一种布局管理器。它按照垂直或水平方向将子视图(View)排列,形成一个单一的行或列。本系列教程将深入探讨线性布局的使用方法和技巧,帮助初学者更...

    Android学习笔记(八):Activity-OpenMenu和LinearLayout.doc

    总结一下,Android的Activity提供了创建和处理菜单的能力,而LinearLayout是Android布局体系中的基础组件,用于线性地排列和填充子视图。理解和熟练运用这些知识对于构建功能丰富的Android应用至关重要。

    Android课程实验-线性布局实验-限制布局实验-表格布局实验-自制的浏览器.zip

    在本压缩包“Android课程实验-线性布局实验-限制布局实验-表格布局实验-自制的浏览器.zip”中,包含了多个Android开发相关的实验项目,这些项目涵盖了Android UI设计的基础元素和核心概念。以下是对每个实验项目的...

    Android开发学习23】界面布局之线性布局LinearLayout代码

    线性布局(LinearLayout)是Android中最常见的布局方式,它按照垂直或水平方向排列其子视图(Views)。线性布局允许开发者设置子视图的权重,以实现更加灵活的布局管理。在布局XML文件中,我们通常使用`...

    Android用户界面设计:线性布局.pdf

    Android 用户界面设计:线性布局 Android 用户界面设计中,线性布局是一个非常重要的概念。线性布局是一种基本的布局类型,通过它可以组织用户界面控件或者小工具在屏幕上垂直或水平地排列。使用得当,线性布局...

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

    在Android开发中,布局管理器是构建用户界面的关键组件,它们负责组织和定位应用程序中的视图元素。本教程将深入探讨Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、TableLayout以及AbsoluteLayout...

    Android实训1-动物连连看游戏界面制作-线性布局-drawable-hdpi资源

    在这个过程中,我们将主要使用线性布局(LinearLayout)以及针对不同屏幕密度的drawable资源。 线性布局是Android中最基础的布局方式,它允许你按照垂直或水平方向排列子视图。在XML布局文件中,我们可以通过设置`...

    安卓线性布局实例

    "安卓线性布局"(LinearLayout)是最基础也是最常用的布局之一,对于任何Android开发者来说,理解和掌握它是至关重要的。线性布局按照垂直或水平方向将子视图(views)逐一排列,就像在纸上画一条直线,依次放置物体...

    安卓UI布局相关-android-ui各种好看的组件.rar

    - **线性布局(LinearLayout)**:是最基础的布局,支持垂直或水平方向上的子视图排列。 - **相对布局(RelativeLayout)**:允许子视图相对于其他视图的位置进行定位,提供了更灵活的布局方式。 - **帧布局...

    android Activity布局初步(一)- 线性、表格布局

    总结起来,线性布局和表格布局是Android开发中不可或缺的基础工具。理解并熟练掌握它们的使用,将有助于构建高效、可维护的UI,并为用户提供良好的用户体验。在后续的文章中,我们将继续探讨更高级的布局管理策略...

    Android布局类型:线性布局(LinearLayout)基本使用和常用使用案例,理论加案例

    Android常见的布局类型是线性布局(LinearLayout),包含布局方向设置、基本使用、常用使用案例以及实现均分案例(垂直均分、水平均分)、以及线性布局嵌套,实现垂直且水平居中,整体按照“理论+案例”,分析清晰,...

    Android 线性布局使用方法

    在Android开发中,布局管理器是构建用户界面的关键部分,其中线性布局(LinearLayout)是最基础也是最常用的布局之一。线性布局按照垂直或水平方向将子视图(Views)排列,如同一串珠子般依次排开。下面我们将深入...

    Android 可升缩LinearLayout-IT计算机-毕业设计.zip

    - **基本概念**:LinearLayout是一个线性布局容器,可以设置为垂直或水平排列,按照添加子视图的顺序依次排列。 - **权重**:LinearLayout中的`android:layout_weight`属性很重要,它决定了子视图在剩余空间中的...

    Android UI开发简介之--布局、控件介绍与使用.pptx

    1. **线性布局**: - **创建方式**: 在layout文件夹中新建一个布局资源文件,选择LinearLayout作为根元素。 - **orientation**: 指定了子视图的排列方向,可以是`vertical`(垂直)或`horizontal`(水平)。 2. **相对...

    [Android开发从零开始].10.LinearLayout学习

    LinearLayout是一个线性布局容器,它可以沿着垂直方向(默认)或水平方向排列其子视图。通过设置`android:orientation`属性,可以切换布局的方向。当设置为"vertical"时,子视图会自上而下排列;设置为"horizontal...

    022 _UI_布局之线性布局-动态生成与LayoutInflater

    线性布局(LinearLayout)是Android开发中常用的一种布局方式,它允许我们将视图(View)按照垂直或水平的方向进行排列。在本视频教材"022 UI 布局之线性布局-动态生成与LayoutInflater"中,我们将深入探讨如何灵活...

    Android布局控件之linearlayout案例

    线性布局(LinearLayout)正如其名,按照垂直或水平的方向排列子视图。它的主要属性包括`orientation`(方向)、`weight`(权重)以及`gravity`(对齐方式),这些属性决定了子视图如何在布局中分布。 1. **方向...

    Android UI组件LinearLayout线性布局详解

    线性布局LinearLayout是Android开发中常用的一种布局方式,它遵循一个单一的行或列的方向来组织子视图。LinearLayout的主要特点在于它的简单性和灵活性,可以根据需求进行水平或垂直的排列。 1. **线性布局的概念**...

    LinearLayout和RelativeLayout实现精确布局-简单版

    线性布局的主要优点是它提供了直观的、基于权重的大小分配方式,通过`android:layout_weight`属性,我们可以定义子视图所占的相对空间。例如,如果我们想在一个评分条和评论文本之间创建等比例的宽度,可以为它们...

Global site tag (gtag.js) - Google Analytics