您好!欢迎来到源码码网

Android五大布局之帧布局FrameLayout使用

  • 源码教程
  • 来源:源码码网
  • 编辑:admin
  • 时间:2021-01-08 12:52
  • 阅读:446

Android SDK 定义了多种布局方式以方便用户设计 UI。各种布局方式均为 ViewGroup 类的子类,结构如图 1 所示。

Android SDK布局方式结构图

图 1  Android SDK 布局方式结构图


FrameLayout  

FrameLayout 又称单帧布局,是 Android 所提供的布局方式里最简单的布局方式,它指定屏幕上的一块空白区域,在该区域填充一个单一对象。例如图片、文字、按钮等。

应用程序开发人员不能为 FrameLayout 中填充的组件指定具体填充位置,默认情况下,这些组件都将被固定在屏幕的左上角,后放入的组件会放在前一个组件上进行覆盖填充,形成部分遮挡或全部遮挡。

开发人员可以通过组件的 android:layout_gravity 属性对组件位置进行适当的修改。

实例 FrameLayoutDemo 演示了 FrameLayout 的布局效果。该布局中共有 4 个 TextView 组件,前 3 个组件以默认方式放置到布局中,第 4 个组件修改 gravity 属性后放置到布局中,运行效果如图 2 所示。


FrameLayout的布局效果

图 2  FrameLayout 的布局效果

实例 FrameLayoutDemo 中的布局文件 main.xml 的代码如下:


  1. <?xml version="1.0" encoding="utf-8"?>


  2. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

  3. android:layout_height="fill_parent"

  4. android:layout_width="fill_parent">


  5. <TextView

  6. android:id="@+id/text1"

  7. android:layout_width="wrap_content"

  8. android:layout_height="wrap_content"

  9. android:textColor="#00ff00"

  10. android:textsize="1OOdip"

  11. android:text="@string/first"/>

  12. <TextView

  13. android:id="@+id/text2"

  14. android:layout_width="wrap_content"

  15. android:layout_height="wrap_content"

  16. android:textColor="#00ffff"

  17. android:textsize="70dip"

  18. android:text="@string/second"/>

  19. <TextView

  20. android:id="@+id/text3"

  21. android:layout_width="wrap_content"

  22. android:layout_height="wrap_content"

  23. android:textColor="#ffOOOO"

  24. android:textsize="40dip"

  25. android:text="@string/third"/>

  26. <TextView

  27. android:id="@+id/text4"

  28. android:layout_width="wrap_content"

  29. android:layout_height="wrap_content"

  30. android:textColor="#fffffOO"

  31. android:textSize="40dip"

  32. android:layout_gravity="bottom"

  33. android:text="@string/forth"/>


  34. </FrameLayout>

其中:

android:layout_width="wrap_content"
android:layout_height="wrap_content"

表明 FrameLayout 布局覆盖了整个屏幕空间。

实例 FrameLayoutDemo 中的 strings.xml 文件内容如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>

  2. <resources>

  3.  <string name="app_name">FrameLayoutDemo</string>

  4.  <string name="first">第一层</string>

  5.  <string name="second">第二层</string>

  6.  <string name="third">第三层</string>

  7.  <string name="forth">第四层</string>

  8. </resources>

从运行后的结果可见,前 3 个被放置到 FrameLayout 的 TextView 组件都是以屏幕左上角为基点进行叠加的。第4个 TextView 因为设置了 android:layout_gravity="bottom" 属性而显示到了布局的下方。可自行将 android:layout_gravity 属性值修改为其他属性,查看运行效果。

特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 大型后台管理系统,用户登录状态该如何保存?
  • 大型后台管理系统,用户登录状态该如何保存?
  • 大型后台管理系统的用户登录状态保存需要综合考虑安全性、用户体验和系统架构。以下是企业级的完整方案:1.多层级存储策略class AuthManager {    constructor() {        this.storage = { &n
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-11-06 12:16
  • 阅读:350
  • 源码交易平台的支付困局与解决方案:如何通过专业支付系统提升交易效率
  • 源码交易平台的支付困局与解决方案:如何通过专业支付系统提升交易效率
  • 在数字经济蓬勃发展的今天,源码交易市场已成为互联网创业者和开发商的重要资源池。从电商系统源码到社交应用框架,从小程序解决方案到企业级管理系统,越来越多的开发者、初创企业和传统商家通过源码交易平台快速获取技术资产,实现商业目标的加速。源码交易市场的繁荣反映了数字化转型的迫切需求——企业需要快速迭代,开发者需要快速变现,用户需要快速启动。然而,在这个高速发展的市场中,一个长期被忽视但至关重要的问题浮现出来:支付系统的效率与安全性已成为制约交
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-10-23 15:16
  • 阅读:298
  • Spring Boot 工程中 maven-surefire-plugin 测试执行失败及解决方法
  • Spring Boot 工程中 maven-surefire-plugin 测试执行失败及解决方法
  • 在SpringBoot工程编译时遇到maven-surefire-plugin的测试执行失败错误(Failedtoexecutegoalorg.apache.maven.plugins:maven-surefire-plugin:3.5.3:test),通常与测试环节相关。以下是常见原因及解决方法:1.测试用例执行失败• 原因:最常见的是测试用例(*Test.java)运行时抛出异常(如断言失败、空指针等),导
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2025-10-13 10:57
  • 阅读:363
  • WeMark - 微信小程序图片水印
  • WeMark - 微信小程序图片水印
  • 一个纯前端的微信小程序图片水印工具。支持文字/图片水印、单个与全屏两种模式,透明度与角度调节、单个水印位置X/Y控制,预览与对比模态、历史记录(100条)等功能。
  • 源码教程
  • 来源:源码码用户
  • 编辑:yg
  • 时间:2025-09-22 16:09
  • 阅读:287
联系客服
源码代售 源码咨询 素材咨询 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部