`
yiding_123
  • 浏览: 40277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android布局之FrameLayout

 
阅读更多
FrameLayout介绍
所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。上一层的会覆盖下一层的组件。默认组件都在靠左上角放置,但是我们可以通过 “layout_gravity”和 "layout_margin..."结合来设置控件的摆放位置
 
使用场景
FrameLayout看起来比较简单,但对于初学的人来说不是很好理解,显的比较神秘,能用好的话必需得多实践下。
使用场景:当应用的界面上有层叠的控件时,这时我们需要用到FrameLayout。
 
简单示例


 
 
代码实现:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textview1"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center"
        android:background="#FF33ffff" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="240dp"
        android:layout_height="240dp"
        android:layout_gravity="center"
        android:background="#FF33ccff" />

    <TextView
        android:id="@+id/textview3"
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_gravity="center"
        android:background="#FF3399ff" />

    <TextView
        android:id="@+id/textview4"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center"
        android:background="#FF3366ff" />

    <TextView
        android:id="@+id/textview5"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:background="#FF3300ff" />
</FrameLayout>

 

 


 
复杂示例
比如下面这个界面,可以看到整个界面是一个大的轮播图(ViewPager实现),可以左右滑动功换广告图片,在这个轮播图上面有“微信登录”、“注册”、“登录”等按扭。


 
代码实现:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/color_lightblue"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <android.support.v4.view.ViewPager
            android:id="@+id/vpContainer"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_centerInParent="true" />

        <LinearLayout
            android:id="@+id/ll_dot"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="350px"
            android:orientation="horizontal" >
        </LinearLayout>
    </FrameLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom"
        android:orientation="vertical"
        android:padding="60px" >

        <LinearLayout
            android:id="@+id/ll_wechatlogin"
            android:layout_width="fill_parent"
            android:layout_height="138px"
            android:layout_centerInParent="true"
            android:background="@drawable/button_white_bg"
            android:drawableLeft="@drawable/wechatlogo_xh"
            android:gravity="center_horizontal"
            android:orientation="horizontal"
            android:paddingBottom="38px"
            android:paddingTop="38px" >

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

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/wechatlogo_xh" />

                <TextView
                    android:id="@+id/tv_wechatlogin"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:layout_marginLeft="10px"
                    android:background="@drawable/button_white_bg"
                    android:gravity="center"
                    android:orientation="horizontal"
                    android:text="微信登录"
                    android:textColor="@color/color_black"
                    android:textSize="40px" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50px"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/btn_register"
                android:layout_width="0dp"
                android:layout_height="138px"
                android:layout_weight="5"
                android:background="@drawable/button_transparent_bg"
                android:paddingBottom="38px"
                android:paddingTop="38px"
                android:text="注册"
                android:textSize="40px" />

            <View
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/btn_login"
                android:layout_width="0dp"
                android:layout_height="138px"
                android:layout_weight="5"
                android:background="@drawable/button_transparent_bg"
                android:paddingBottom="38px"
                android:paddingTop="38px"
                android:text="登录"
                android:textSize="40px" />
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/login_vistor_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|top"
        android:layout_marginLeft="30.0px"
        android:layout_marginTop="30.0px"
        android:text="@string/login_vistor_view"
        android:textSize="@dimen/font_size_medium_50"
        android:textColor="@color/white" />

</FrameLayout>
 
 
  • 大小: 305.9 KB
  • 大小: 3.3 KB
分享到:
评论

相关推荐

    Android布局之FrameLayout帧布局

    帧布局(FrameLayout)是Android布局中的基本类型之一,它的特点是简单直接。当在帧布局内添加多个组件时,所有组件都会默认位于左上角,并且按照它们的尺寸大小重叠。较大的组件会覆盖较小的组件,只有位于顶部的...

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

    下面将详细介绍帧布局FrameLayout的常用属性。 1. **Android:foreground** 这个属性用于设置帧布局的前景图,即在所有子视图之上显示的图像。前景图可以是任何图形资源,如图片、形状等。通过这个属性,可以在...

    Android中帧布局FrameLayout的特点.pdf

    总结来说,Android中的帧布局FrameLayout是一个基础且实用的布局工具,尤其适合处理简单层叠效果和单一位置需求的场景。了解并熟练掌握其特点和用法,对于提升Android应用的用户体验和界面设计质量至关重要。

    Android布局之帧布局FrameLayout详解

    帧布局(FrameLayout)是Android布局管理器的一种,它的设计思想简单直观,主要用于展示单个或少量的组件,尤其适用于需要元素叠加的情况。在FrameLayout中,所有的子视图(如TextView、ImageView等)默认都会放置在...

    Android中使用FrameLayout布局完成教学案例的代码清单.pdf

    在Android应用开发中,布局是构建用户界面的关键...为了深入理解Android布局系统,开发者还应该掌握其他布局类型,如LinearLayout、RelativeLayout、GridLayout以及ConstraintLayout等,以便灵活应对各种UI设计需求。

    Android学习笔记12:框架布局管理器FrameLayout

    在Android开发中,布局管理器是构建用户界面的关键部分,它们负责组织和定位视图(View)或视图组(ViewGroup)。本篇我们将深入探讨`FrameLayout`,这是一个非常基础但灵活的布局管理器,它允许你在屏幕上精确地...

    Android中使用FrameLayout布局完成教学案例的要求说明.pdf

    在Android开发中,FrameLayout是一种基础的布局容器,它允许开发者在一个帧内堆叠多个视图,这些视图可以按照Z轴(前后)顺序重叠。在这个教学案例中,我们将探讨如何利用FrameLayout来实现特定的设计需求。 首先,...

    Android Framelayout显示静态和动态的扑克牌

    `Framelayout`是Android布局管理器的一种,它的特点是按照添加到布局中的顺序决定各个View的显示位置。默认情况下,最后一个添加的View会覆盖之前的所有View,除非你对它们的位置进行了特别的设置。在这个场景下,...

    Android下拉刷新列表(仿新浪微博,采用FrameLayout布局)

    `FrameLayout`是Android中的一个布局容器,它按照从上到下的顺序堆叠子视图。当多个视图重叠时,最后一个添加的视图会位于最顶层。在下拉刷新场景中,`FrameLayout`通常用来放置`ListView`或`RecyclerView`,以及...

    android demo,FrameLayout的使用,该实例实现了一个美女在地图上的行走。

    FrameLayout是Android SDK中的一个布局容器,主要用于展示一个或多个视图(Views)在一个特定的框架内,通常这些视图会重叠放置。这个布局在许多简单场景中非常有用,例如,当您需要一个背景视图和一个浮于其上的...

    android布局_Android布局_android_

    本文将深入探讨Android布局的各种类型及其使用方法,旨在帮助开发者更好地理解和掌握Android应用的UI设计。 首先,我们来了解Android中的基本布局类型: 1. **线性布局(LinearLayout)**:这是最基础的布局,它...

    Android布局管理器

    【Android布局管理器】是Android应用开发中的核心概念,它决定了UI组件在屏幕上的排列方式。在Android中,布局管理器主要有五种类型:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout...

    android自定义圆形布局CircleLayout

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

    Android中使用FrameLayout完成的图片浏览器练习题要求说明.pdf

    1. **FrameLayout布局**:FrameLayout是Android中最基础的布局之一,它的特点是只有一个子视图可以占据整个屏幕,并且后续的子视图会覆盖在前面的视图之上。在这个练习中,FrameLayout将作为主容器,用于显示图片。 ...

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

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

    java android 布局文件

    Android布局文件是用来描述应用程序界面上组件(如按钮、文本视图、图像视图等)的结构和位置的XML文档。这些文件定义了控件的属性,如大小、位置、文本、样式等,并且可以包含多个嵌套的布局以实现复杂的屏幕设计。...

    Android、教程<经典> 2 Android布局

    本教程将深入探讨Android布局的各个方面,帮助开发者掌握创建高效、可扩展且美观的用户界面的技巧。 首先,我们来了解Android布局的基础知识。Android提供了多种布局类型,每种都有其特定的用途: 1. **线性布局...

    android 中页面布局使用demo

    下面我们将详细探讨Android布局及其在实际应用中的使用。 Android支持多种布局管理器,每种都有其特定的用途: 1. **线性布局(LinearLayout)**:这是最基础的布局,可以将子视图水平或垂直排列。通过设置`...

Global site tag (gtag.js) - Google Analytics