`
hanllove001
  • 浏览: 49300 次
  • 性别: Icon_minigender_1
  • 来自: 绵阳
社区版块
存档分类
最新评论

android之layout(一) FrameLayout、LinearLayout

阅读更多

新知识介绍:

layout:布局。我们有很多控件,但是我们要把这些控件如何摆放,怎么样摆放合理、美观,这就是布局了。

有以下几种布局方式:FrameLayoutLinearLayout RelativeLayout TableLayout 。

 

现在我们来介绍前两种:

1、FrameLayout:是 最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定 在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡 住(除非后一个子元素是透明的)。

FrameLayout默认填充widget等在左上角,然后后面的控件遮住前面的,比如说有两个TextView,Text内容分别是I am textview 1 和I am textview 2 看到的效果会如下(只显示最新的):

 

 

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 
xmlns:android="htHTMLtp://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="I am textview 1"
    />
    <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="I am textview 2"
    />
    
</FrameLayout>
 

 

这个布局并不常用,大家可以看看就行了。

 

1、LinearLayout单向布局,最常见的布局,可以有横向或者纵向布局。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多 宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素 的右对齐、中间对齐或者左对齐)。 

 

LinearLayout 还支持为单独的子元素指定weight。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight值,剩余的空间就会按这些子元素指定的weight比例分配给这些子元素。默认的weight值为0。例如,如 果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。

 

LinearLayout是Android sdk创建project时的默认Layout,支持两种方式,默认是垂直vertical的线性layout,另一个是水平horizontal方向的线性排列。

 

话不多说,看代码:

这个是横向排列,"vertical":

 

 

<?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:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="I am textview 1"
    />
    <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="I am textview 2"
    />
    
</LinearLayout>
 

 

 

这个是纵向排列,"horizontal":

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="10px" 
    android:layout_height="fill_parent" 
    android:text="I am textview 1"
    />
    <TextView  
    android:layout_width="10px" 
    android:layout_height="wrap_content" 
    android:text="I am textview 2"
    />
    
</LinearLayout>
 

 

 

怎么样,现在清楚了吧? 至于weight,大家可以下去调试,下节课我将讲解。

 

我上传的附件是横向和纵向相结合的布局,可以看看。

 

搞定,打完收工!

 

分享到:
评论

相关推荐

    Android中帧布局FrameLayout的常用属性.pdf

    Android帧布局(FrameLayout)是Android开发中一种基础且重要的布局类型,它允许开发者在一个屏幕上叠加多个视图(views)。帧布局以其简洁性和灵活性,在实现简单的界面设计时非常有用。下面将详细介绍帧布局...

    Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解

    本篇文章将详细介绍Android三种基本布局:FrameLayout、LinearLayout和RelativeLayout。 1. **FrameLayout** FrameLayout是最基础的布局,它的特点是所有子视图(View)都会按照从上到下、从左到右的顺序重叠在...

    Android 五种Layout 布局

    本文将深入探讨Android的五种主要布局:LinearLayout、RelativeLayout、FrameLayout、GridLayout以及ConstraintLayout,并通过示例代码进行解析。 1. **LinearLayout**:线性布局是最基础的布局类型,它按照垂直或...

    Android中帧布局FrameLayout的特点.pdf

    首先,FrameLayout是Android六大布局(LinearLayout、RelativeLayout、GridLayout、FrameLayout、AbsoluteLayout以及ConstraintLayout)中最为简洁的一种。它在屏幕上创建一个空白区域,用于承载多个子视图。当向...

    Android的Layout完全介绍

    Android的Layout完全介绍 在Android开发中,Layout是构建用户界面的关键组成部分,用于组织和定位应用中的各种View组件。本文将详细介绍几种主要的Layout类型及其特点。 1. FrameLayout FrameLayout是最基础的布局...

    Android自定义Layout布局

    在Android开发中,系统提供了五种基础布局:LinearLayout、RelativeLayout、FrameLayout、TableLayout和ConstraintLayout,它们在大多数情况下能够满足基本的界面设计需求。然而,随着应用功能的复杂化和个性化界面...

    Android Layout样式布局

    在Android应用开发中,界面设计是非常重要的一环,而界面设计的核心就是布局(Layout)。布局决定了应用界面的结构与外观,是用户体验好坏的重要因素之一。本文将详细介绍Android中各种布局的样式及其相关属性。 ##...

    简析Android五大布局(LinearLayout、FrameLayout、RelativeLayout等)

    LinearLayout的一个重要特性是`android:layout_weight`属性,它用于分配子元素在剩余空间中占据的比例。例如,两个等长的文本框设置`android:layout_weight=1`,它们将平分剩余空间。而权重越小的元素,其优先级越高...

    android layout

    1. **LinearLayout**:线性布局是最基本的布局之一,它可以按照水平或垂直方向来排列子视图。 2. **RelativeLayout**:相对布局允许根据其他视图的位置来设置视图的位置,提供了一种更灵活的方式来组织界面元素。 3....

    Android Studio动态加载Fragment和获取实例的方法

    Android Studio 是一个功能强大的集成开发环境(IDE),它提供了许多实用的功能和工具来帮助开发者快速构建高质量的 Android 应用程序。在 Android 开发中,Fragment 是一个非常重要的组件,用于实现用户界面和业务...

    Android学习指南之Layout 布局--千锋培训

    【Android学习指南之Layout 布局】 在Android开发中,布局(Layout)是构建用户界面的核心元素,它负责组织和定位应用中的各个视图组件。本指南将着重讲解三种主要的布局类型:LinearLayout、RelativeLayout和...

    Android_layout.rar_android_android 布局_layout

    在Android开发中,布局(Layout)是构建用户界面的核心元素,它定义了应用程序屏幕上元素的排列方式和相互关系。Android提供了多种布局管理器,如LinearLayout、RelativeLayout、ConstraintLayout等,每种布局都有其...

    android的layout布局种类.pdf

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

    android的layout布局种类

    LinearLayout 是 Android 中最常用的布局种类之一。它提供了控件水平垂直排列的模型,同时可以通过设置子控件的 weight 布局参数控制各个控件在布局中的相对大小。LinearLayout 有两种排列方式:水平排列...

    android layout例子

    在Android开发中,布局(Layout)是构建用户界面的核心组件,它定义了屏幕上元素的排列方式和相互关系。本篇文章将深入探讨`android layout`的例子,以及如何在Android应用程序中调用和使用布局。 首先,Android...

    FrameLayout练习

    总之,FrameLayout是Android开发的基础工具之一,掌握它有助于你构建各种各样的用户界面。通过不断地练习和实践,你不仅可以提升对布局管理的理解,还能逐步提升自己的Android开发技能。所以,让我们从这个...

    android自定义圆形布局CircleLayout

    首先,创建一个自定义布局通常需要继承`FrameLayout`或者`LinearLayout`等基础布局类。在这个例子中,我们继承`ViewGroup`,因为我们需要完全控制子视图的摆放。`CircleLayout`的核心在于重写`onLayout()`方法,此...

    Android Layout ppt 资源共享

    本资源分享主要涵盖了Android的五大基本布局:LinearLayout、AbsoluteLayout、RelativeLayout、TableLayout以及FrameLayout,并探讨了它们之间的共享和相互嵌套。 1. **LinearLayout**:线性布局是最基础的布局方式...

    FragmentTabHost FrameLayout实现底部导航栏

    FragmentTabHost 和 FrameLayout 是 Android 中实现底部导航栏的常见方法。下面将详细介绍如何使用 FragmentTabHost 和 FrameLayout 实现底部导航栏,并提供一个简单的示例代码。 一、 FragmentTabHost 和 ...

Global site tag (gtag.js) - Google Analytics