Android布局之FrameLayout
转:
FrameLayout:该布局container可以用来占有屏幕的某块区域来显示单一的对象,可以包含有多个widgets或者是container,但是所有被包含的widgets或者是container必须被固定到屏幕的左上角,并且一层覆盖一层,不能通过为一个widgets或者是container指定一个位置。Container所包含的widgets或者是container的队列是采用的堆栈的结构,最后加进来的widgets或者是container显示在最上面。所以后一个widgets或者是container将会直接覆盖在前一个widgets或者是container之上,把它们部份或全部挡住(除非后一个widgets或者是container是透明的,必须得到FrameLayout Container的允许)。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="@string/textview_first"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textview_second"
android:textColor="#0000FF"
/>
</FrameLayout>
<string name="textview_first">This is a first string.</string> <string name="textview_second">This is a second string.</string>
如下图,其中TextView textview_second是最后FrameLayout最后加入的,所以该TextView应该是覆盖整个屏幕的,TextView textview_first被其覆盖。如下图:
转:http://www.iteye.com/topic/1114402
FrameLayout:帧布局
最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。但是你可以通过子控件自身控制其位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。此布局通常用于游戏或者处理一些画廊程序。如图:
<!-- 帧布局,所以子控件均显示在屏幕的左上角,层叠式排列。此布局无法控制子控件的大小与位置,
但是子控件自身可以控制其位置大小 -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg"
>
<!-- 图片显示控件 并且在容器的右侧显示 -->
<ImageView
android:id="@+id/one_imageview"
android:src="@drawable/one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
/>
<!-- 第二张图片显示在左侧底部 -->
<ImageView
android:id="@+id/two_imageview"
android:src="@drawable/two"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scaleType="fitEnd"
/>
</FrameLayout>
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
ImageView mOneImageView;
ImageView mTwoImageView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mOneImageView=(ImageView) findViewById(R.id.one_imageview);
mTwoImageView=(ImageView) findViewById(R.id.two_imageview);
//添加点击监听事件
mOneImageView.setOnClickListener(new ImageView.OnClickListener(){
@Override
public void onClick(View v) {
//点击one时隐藏自身 显示two
mTwoImageView.setVisibility(View.VISIBLE);
v.setVisibility(View.GONE);
}
});
mTwoImageView.setOnClickListener(new ImageView.OnClickListener(){
@Override
public void onClick(View v) {
mOneImageView.setVisibility(View.VISIBLE);
v.setVisibility(View.GONE);
}
});
}
}
- FrameLayout.rar (585.9 KB)
- 下载次数: 173
发表评论
-
资料上传备份
2012-07-02 07:28 0对付对付对付对付 -
Android-sharedUserId数据权限
2012-05-02 10:16 1445Android-sharedUserId数据权限 An ... -
Android Service学习之本地服务
2012-04-18 10:28 863转: Android Service学习之本地服务 htt ... -
match_parent和fill_parent的区别 .
2012-02-18 11:49 1840match_parent和fill_parent的区别 有 ... -
Android中SQLiteOpenHelper类的onUpgrade方法的作用
2012-02-09 11:50 4601Android中SQLiteOpenHelper类的onUpg ... -
Android启动各种系统服务线程
2012-02-09 10:59 1936Android启动各种系统服务 ... -
android
2012-02-08 09:22 0Android数据库内容变化的监听 首先介绍内容监 ... -
在线升级Android应用程序的思路
2012-02-07 11:34 880在线升级Android应用程序的思路 http://www. ... -
Android数据库内容变化的监听
2012-02-07 11:31 6033Android数据库内容变化的监听 首先介绍内容监 ... -
android中的数据库操作
2012-02-07 10:50 1451android中的数据库操作 ... -
SQLiteOpenHelper类与自动升级数据库
2012-02-07 10:31 2283SQLiteOpenHelper类与自动升级数据库 S ... -
SQLite外键的实现
2012-02-07 10:30 1717SQLite外键的实现 SQLite现在的版本还不支持 ... -
Android到处都在使用的回调分析
2011-12-21 15:53 3547Android到处都在使用的回调分析 ... -
android中LayoutInflater的使用
2011-12-21 11:35 1932android中LayoutInflater的使用 ... -
SIM卡满处理流程分析
2011-12-19 15:15 1882SIM卡满处理流程分析 //框架层分析 // SMSD ... -
短信发送状态报告流程分析
2011-12-19 15:07 2393短信发送状态报告流程分析 //应用层分析: //Sms ... -
Android平台 短信接送流程剖析(含编码)
2011-12-16 15:29 3228Android平台 短信接送流程剖析(含编码) ... -
修改语言环境方法
2011-12-16 15:20 1040修改语言环境方法 private void se ... -
Android平台 短信发送流程剖析(含编码)
2011-12-12 17:12 4334Android平台 短信发送流程剖析(含编码) 本文对A ... -
Android 应用程序签名
2011-11-27 11:34 1642Android 应用程序签名 转:http://www ...
相关推荐
帧布局(FrameLayout)是Android布局中的基本类型之一,它的特点是简单直接。当在帧布局内添加多个组件时,所有组件都会默认位于左上角,并且按照它们的尺寸大小重叠。较大的组件会覆盖较小的组件,只有位于顶部的...
下面将详细介绍帧布局FrameLayout的常用属性。 1. **Android:foreground** 这个属性用于设置帧布局的前景图,即在所有子视图之上显示的图像。前景图可以是任何图形资源,如图片、形状等。通过这个属性,可以在...
总结来说,Android中的帧布局FrameLayout是一个基础且实用的布局工具,尤其适合处理简单层叠效果和单一位置需求的场景。了解并熟练掌握其特点和用法,对于提升Android应用的用户体验和界面设计质量至关重要。
帧布局(FrameLayout)是Android布局管理器的一种,它的设计思想简单直观,主要用于展示单个或少量的组件,尤其适用于需要元素叠加的情况。在FrameLayout中,所有的子视图(如TextView、ImageView等)默认都会放置在...
在Android应用开发中,布局是构建用户界面的关键...为了深入理解Android布局系统,开发者还应该掌握其他布局类型,如LinearLayout、RelativeLayout、GridLayout以及ConstraintLayout等,以便灵活应对各种UI设计需求。
在Android开发中,布局管理器是构建用户界面的关键部分,它们负责组织和定位视图(View)或视图组(ViewGroup)。本篇我们将深入探讨`FrameLayout`,这是一个非常基础但灵活的布局管理器,它允许你在屏幕上精确地...
在Android开发中,FrameLayout是一种基础的布局容器,它允许开发者在一个帧内堆叠多个视图,这些视图可以按照Z轴(前后)顺序重叠。在这个教学案例中,我们将探讨如何利用FrameLayout来实现特定的设计需求。 首先,...
`Framelayout`是Android布局管理器的一种,它的特点是按照添加到布局中的顺序决定各个View的显示位置。默认情况下,最后一个添加的View会覆盖之前的所有View,除非你对它们的位置进行了特别的设置。在这个场景下,...
`FrameLayout`是Android中的一个布局容器,它按照从上到下的顺序堆叠子视图。当多个视图重叠时,最后一个添加的视图会位于最顶层。在下拉刷新场景中,`FrameLayout`通常用来放置`ListView`或`RecyclerView`,以及...
FrameLayout是Android SDK中的一个布局容器,主要用于展示一个或多个视图(Views)在一个特定的框架内,通常这些视图会重叠放置。这个布局在许多简单场景中非常有用,例如,当您需要一个背景视图和一个浮于其上的...
本文将深入探讨Android布局的各种类型及其使用方法,旨在帮助开发者更好地理解和掌握Android应用的UI设计。 首先,我们来了解Android中的基本布局类型: 1. **线性布局(LinearLayout)**:这是最基础的布局,它...
【Android布局管理器】是Android应用开发中的核心概念,它决定了UI组件在屏幕上的排列方式。在Android中,布局管理器主要有五种类型:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout...
首先,创建一个自定义布局通常需要继承`FrameLayout`或者`LinearLayout`等基础布局类。在这个例子中,我们继承`ViewGroup`,因为我们需要完全控制子视图的摆放。`CircleLayout`的核心在于重写`onLayout()`方法,此...
1. **FrameLayout布局**:FrameLayout是Android中最基础的布局之一,它的特点是只有一个子视图可以占据整个屏幕,并且后续的子视图会覆盖在前面的视图之上。在这个练习中,FrameLayout将作为主容器,用于显示图片。 ...
本篇文章将详细介绍Android三种基本布局:FrameLayout、LinearLayout和RelativeLayout。 1. **FrameLayout** FrameLayout是最基础的布局,它的特点是所有子视图(View)都会按照从上到下、从左到右的顺序重叠在...
Android布局文件是用来描述应用程序界面上组件(如按钮、文本视图、图像视图等)的结构和位置的XML文档。这些文件定义了控件的属性,如大小、位置、文本、样式等,并且可以包含多个嵌套的布局以实现复杂的屏幕设计。...
本教程将深入探讨Android布局的各个方面,帮助开发者掌握创建高效、可扩展且美观的用户界面的技巧。 首先,我们来了解Android布局的基础知识。Android提供了多种布局类型,每种都有其特定的用途: 1. **线性布局...
下面我们将详细探讨Android布局及其在实际应用中的使用。 Android支持多种布局管理器,每种都有其特定的用途: 1. **线性布局(LinearLayout)**:这是最基础的布局,可以将子视图水平或垂直排列。通过设置`...