Android布局之FrameLayout
转自:http://lzd20021683.iteye.com/blog/1264170
Android布局之FrameLayout
转:
FrameLayout:该布局container可以用来占有屏幕的某块区域来显示单一的对象,可以包含有多个widgets或者是container,但是所有被包含的widgets或者是container必须被固定到屏幕的左上角,并且一层覆盖一层,不能通过为一个widgets或者是container指定一个位置。Container所包含的widgets或者是container的队列是采用的堆栈的结构,最后加进来的widgets或者是container显示在最上面。所以后一个widgets或者是container将会直接覆盖在前一个widgets或者是container之上,把它们部份或全部挡住(除非后一个widgets或者是container是透明的,必须得到FrameLayout Container的允许)。
- <em class="actions"><?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></em>
- <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);
- }
- });
- }
- }
posted on 2013-02-23 12:15 kiao295338444 阅读(282) 评论(0) 编辑 收藏 举报