FrameLayout布局的特点是:所有放在布局里的视图组件,都按照层次堆叠在屏幕的左上角,后面的视图组件覆盖前面的。

当然,组件本身是可以控制自己的内部布局的。

一种常见的场景是可以在FrameLayout上放多个图片视图,来实现动画。

我们来看一个简单例子:

1、创建一个app

2、创建主Activity,该Activity采用的是 FrameLayout布局,其布局文件的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

................

>

<Button
     android:id="@+id/button1"
     android:layout_width="400px"
     android:layout_height="400px"
     android:background="#888888"
/>

<Button
     android:id="@+id/button2"
     android:layout_width="300px"
     android:layout_height="300px"
     android:background="#555555"
/>

<Button
     android:id="@+id/button3"
     android:layout_width="200px"
     android:layout_height="200px"
     android:background="#222222"
/>

</FrameLayout>

3、运行该App,可以看到相应的效果。如果是采用eclipse开发,直接查看布局文件对应的Graphical视图就能看到同样效果,如下:

可以看出,第一个按钮(尺寸最大的)是位于最下层,第2个按钮在它的上面,第3个按钮又在最上面。

在这个最基础的特性基础之上,结合视图的隐藏或透明背景等属性,可以实现各种特殊的显示方式。

注意:千万不要把FrameLayout 与 Fragment混淆了,这两者完全没关系,前者是视图的一种布局方式,后者是一种视图组件。

最新文章

  1. memcpy内存复制
  2. java编程思想-java 异常使用指南
  3. mongdb查询与排序
  4. 关于为busybox设置setuid
  5. 动态监控驱动、dll、exe加载
  6. Extjs读取本地下拉选框数据源,分为text和value,显示text,传值value
  7. Servlet之Cookie操作
  8. 233. Number of Digit One
  9. Delphi XE10让android的界面设计摆脱繁杂
  10. HDU 5040 Instrusive(BFS+优先队列)
  11. vijos1004 博弈论
  12. iOS企业版APP分发上线流程和注意事项
  13. es6 和 python 语法比较
  14. 关于手贱--npm 误改全局安装路径
  15. mysql并行执行--缩短主从同步时延
  16. Hadoop 目录分析及存储机制
  17. ubuntu 阿里云 常出问题 运维工作日志
  18. 我眼中的SCRUM
  19. (转)在Docker中运行Java:为了防止失败,你需要知道这些
  20. nodejs --- 上传文件并保存到磁盘

热门文章

  1. 【转】使用Boost Graph library(一)
  2. javascript 计算中文字符长度
  3. 宣布正式发布 Windows Azure 上的 Oracle 软件以及 Windows Azure Traffic Manager 更新
  4. BeanFactory 和ApplicationContext
  5. hdoj 1251 统计难题(字典树)
  6. Spring MVC遭遇checkbox的问题解决方式
  7. Android开发中内置apk程序
  8. 图像检索:一维直方图+EMD距离
  9. 【企业库6】【日志应用程序块】实验2:创建和使用异步Trace Listener
  10. 在mac本上折腾android 开发环境