FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
在FrameLayout中可以添加诸如imageView和TextView这样简单的View,它们层层向上叠加,上层遮蔽下层,代码示例如下:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/image1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/sky"/> <ImageView android:id="@+id/image2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/cloud"/> <ImageView android:id="@+id/image3" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/sun"/> </FrameLayout>
图片层层叠加,只显示上层图片
<FrameLayout android:id="@+id/circleView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" >
<include layout="@layout/circle_view"/>
<include
layout="@layout/circle_view2"/>
</FrameLayout>
<FrameLayout android:id="@+id/circleView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" >
<com.example.viewflipperdemoactivity.CircleView android:layout_width="fill_parent" android:layout_height="fill_parent"/> <TextView android:layout_width="fill_parent" />
</FrameLayout>
由于FrameLayout层层叠加的特性,使得下层View被上层View遮蔽,有时为了让下层View可见,就不得不让上层View透明:
View.getBackground().setAlpha(100);