Android UI之FrameLayout(帧布局)

Android UI之FrameLayout(帧布局)

说明:帧布局会为每个包含其中的组件开辟一个空白区域(称为帧),这些帧是一层层叠加在一起的,有点类似于一层层覆盖贴上去的海报,后面的组件会把前面的组件覆盖住。

FrameLayout有两个比较特殊的常用属性需要注意:

1 android:foreground

对应方法:setForeground(Drawable)
说明:设置帧布局的前景图像,一般为布局添加pressed状态会用到这个属性来指定一个Drawable类型对象。
举个栗子:


    
    
    
    
    

Android UI之FrameLayout(帧布局)_第1张图片

可以看到设置了foreground为小蘑菇的图片之后,图片直接拉伸占据满了整个FrameLayout,并将FrameLayout中所有的组件都遮盖住了。这就是相对与背景色的前景色的效果。

2 foregroundGravity

对应方法:setForegroundGravity(int)
说明:看名字就知道,肯定是跟前景色摆放有关。没错,这个属性的功能就是定义前景图像的gravity属性,所以这个属性必须配合foreground使用。而其中的可选项更gravity是一样的,可以在我之前的《 Android UI之LinearLayout(线性布局)》中找到属性表。
举个栗子:


    
    
    
    
    

Android UI之FrameLayout(帧布局)_第2张图片

这里的代码更上边的唯一区别就是在FrameLayout中添加了下面这行代码。

android:foregroundGravity="bottom|right"

可以看到前景图像还原到了原有大小,而且按照设置放到了右下角,这样,FrameLayout中的子组件就显示出来了。

附:引用声明

《疯狂Android讲义(第二版)》 李刚 《2.2.3 帧布局》 电子工业出版社

你可能感兴趣的:(Android UI之FrameLayout(帧布局))