Android帧布局

1.FrameLayout类简介

FrameLayout帧布局在屏幕上开辟出了一块区域,在这块区域中可以添加多个子控件,但是所有的子控件都被对齐到屏幕的左上角。帧布局的大小由子控件中尺寸最大的那个子控件来决定。如果子控件一样大,同一时刻只能看到最上面的子控件。

FrameLayout继承自ViewGroup,除了继承自父类的属性和方法,FrameLayout类中包含了自己特有的属性和方法,如下表所示。

属性名称对应方法描述
android:foregroundsetForeground(Drawable)设置绘制在所有子控件之上的内容
android:foregroundGravitysetForegroundGravity(int)设置绘制在所有子控件之上内容的gravity属性

在FreamLayout中,子控件是通过栈来绘制的,所以后添加的子控件会被控制在上层。

2.帧布局案例

本节将通过一个案例对帧布局的用法进行说明,开发步骤如下。

1)新建一个项目Android_Sample_3_4。

image

2)打开其res/values目录下的strings.xml,在其中输入如下代码。

 
 
  1: <?xml version="1.0" encoding="utf-8"?>
  2: <resources>
  3:     <string name="app_name">FrameExample</string>
  4:     <string name="big">大的</string>
  5:     <string name="middle">中的</string>
  6:     <string name="small">小的</string>
  7: </resources>

3)在项目res/values目录下新建一个colors.xml,在其中输入如下代码。

 
 
  1: <?xml version="1.0" encoding="UTF-8"?>
  2: <resources>
  3: 	<color name="red">#FF0000</color>
  4: 	<color name="green">#00FF00</color>
  5: 	<color name="blue">#0000FF</color>
  6: 	<color name="white">#FFFFFF</color>
  7: </resources>

4)打开项目res/layout目录下的main.xml文件,将其中已有的代码替换为如下代码。

 
 
  1: <?xml version="1.0" encoding="utf-8"?>
  2: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3:     android:id="@+id/FrameLayout01"
  4:     android:layout_width="fill_parent"
  5:     android:layout_height="fill_parent"
  6:     android:background="@color/white" >
  7: 
  8:     <TextView
  9:         android:id="@+id/TextView01"
 10:         android:layout_width="wrap_content"
 11:         android:layout_height="wrap_content"
 12:         android:text="@string/big"
 13:         android:textColor="@color/green"
 14:         android:textSize="60dp" >
 15:     </TextView>
 16: 
 17:     <TextView
 18:         android:id="@+id/TextView02"
 19:         android:layout_width="wrap_content"
 20:         android:layout_height="wrap_content"
 21:         android:text="@string/middle"
 22:         android:textColor="@color/red"
 23:         android:textSize="40dp" >
 24:     </TextView>
 25: 
 26:     <TextView
 27:         android:id="@+id/TextView03"
 28:         android:layout_width="wrap_content"
 29:         android:layout_height="wrap_content"
 30:         android:text="@string/small"
 31:         android:textColor="@color/blue"
 32:         android:textSize="20dp" >
 33:     </TextView>
 34: 
 35: </FrameLayout>

第8~15行声明了一个TextView控件,该控件id为TextView01,第14行定义了其显示内容的字号为60dp,第13行定义了所显示内容的字体颜色为绿色。

第17~24行声明了一个TextView控件,该控件id为TextView02,第23行定义了其显示内容的字号为40dp,第22行定义了所显示内容的字体颜色为红色。

第26~33行声明了一个TextView控件,该控件id为TextView03,第32行定义了其显示内容的字号为20dp,第31行定义了所显示内容的字体颜色为蓝色。

5)进行Activity部分的开发。打开程序的Activity文件 Android_Sample_3_4Activity.java ,在其中输入如下代码。默认情况不需要做修改。

 
 
  1: package wyf.jc;
  2: 
  3: import android.app.Activity;
  4: import android.os.Bundle;
  5: 
  6: public class Android_Sample_3_4Activity extends Activity {    
  7:     @Override
  8:     public void onCreate(Bundle savedInstanceState) {
  9:         super.onCreate(savedInstanceState);
 10:         setContentView(R.layout.main);
 11:     }
 12: }

完成了上述步骤的开发后,运行Android_Sample_3_4,其效果如下图所示。

image

在图中可以看到,程序运行时所有的子控件都自动地对齐到容器的左上角,由于子控件的TextView是按照字号从大到小排列的,所以字号小的在最上层。

作者:银月莲
出处:http://www.cnblogs.com/moonsilvering
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,包括文章,代码,图片等本站内所有资源,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/moonsilvering/archive/2011/12/30/2308091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值