Android-FrameLayout(帧布局)

本文介绍了Android中的FrameLayout(帧布局),讲解了其常用属性`android:foreground`和`android:foregroundGravity`,并提供了两个实例:1) 随手指移动的小女孩,通过自定义View类和触摸事件实现;2) 跑动的小女孩,利用Handler和计时器动态改变前景图像。详细阐述了实现这两个实例的步骤和关键代码。
摘要由CSDN通过智能技术生成

FrameLayout(帧布局)

常用属性
android:foreground:*设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置

1)最简单的例子
代码:

<TextView    
    android:layout_width="200dp"    
    android:layout_height="200dp"    
    android:background="#FF6143" />    
<TextView    
    android:layout_width="150dp"    
    android:layout_height="150dp"    
    android:background="#7BFE00" />    
 <TextView    
    android:layout_width="100dp"    
    android:layout_height="100dp"    
    android:background="#FFFF00" />    
代码解析: 很简单,三个TextView设置不同大小与背景色,依次覆盖,接着右下角的是前景图像,通过 android:foreground="@drawable/logo"设置前景图像的图片, android:foregroundGravity="right|bottom"设置前景图像的位置在右下角

2.随手指移动的小女孩

实现流程解析:

step 1:先将main.xml布局设置为空白的FrameLayout,为其设置一个图片背景
step 2:新建一个继承View类的MeziView自定义组件类,在构造方法中初始化view的初始坐标
step 3:重写onDraw()方法,实例化一个空的画笔类Paint
step 4:调用BitmapFactory.decodeResource()生成位图对象
step 5:调用canvas.drawBitmap()绘制小女孩的位图对象
step 6:判断图片上是否回收,否则强制回收图片
step 7:在主Java代码中获取帧布局对象,并且实例化一个MeziView类
step 8:会实例化的小女孩对象添加一个触摸事件的监听器,重写onTouch方法,改变小女孩的X,Y坐标,调用invalidate()重绘方法
step 9: 将小女孩对象添加到帧布局中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值