读书人

Android格局之FrameLayout

发布时间: 2012-06-27 14:20:08 作者: rapoo

Android布局之FrameLayout

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被其覆盖。如下图:

Android格局之FrameLayout

?

?

转:http://www.iteye.com/topic/1114402

?

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(){@Overridepublic void onClick(View v) {//点击one时隐藏自身 显示twomTwoImageView.setVisibility(View.VISIBLE);v.setVisibility(View.GONE);} }); mTwoImageView.setOnClickListener(new ImageView.OnClickListener(){@Overridepublic void onClick(View v) {mOneImageView.setVisibility(View.VISIBLE);v.setVisibility(View.GONE);} }); }}

读书人网 >Android

热点推荐