FloatActionBtn 扩展
FloatActionBtn 是一个免费的悬浮操作按钮扩展,为 App Inventor 平台提供可定制的 Material Design 风格悬浮按钮。该扩展支持自定义 PNG 图标、默认加号图标、颜色、大小、位置、边距控制和触摸效果。
与 FloatingActionButton 扩展的区别
FloatActionBtn 和 FloatingActionButton 都是用于创建悬浮操作按钮的扩展,主要区别如下:
| 特性 | FloatActionBtn | FloatingActionButton |
|---|---|---|
| 包名 | com.kenmor.floatactionbtn |
joejsanz.joedevfloatingactionbutton |
| 版本 | 1.1 (较新) | 1.0 |
| 文件大小 | 21.8 KB | 13.6 KB (更轻量) |
| 位置设置 | 自定义X/Y坐标 | 预定义四个位置 |
| 圆角控制 | ✅ 支持 | ❌ 不支持 |
| 动态生成 | ✅ 支持多按钮 | ❌ 单按钮 |
| 临时隐藏 | ✅ 支持 | ❌ 不支持 |
| 图标设置 | 文件路径 | 资源名称 |
| 功能复杂度 | 功能丰富 | 简洁实用 |
选择建议:
- 选择 FloatActionBtn:需要轻量级、简单易用、快速集成的悬浮按钮
- 选择 FloatingActionButton:需要精确定位、多按钮管理、圆角控制或临时隐藏等高级功能
下载链接
扩展文件:
功能概述
扩展特性
- 自定义图标:支持从资源加载自定义 PNG 图标
- 默认图标:提供默认加号 (+) 图标
- 颜色自定义:可自定义背景颜色和图标颜色
- 大小调整:支持自定义按钮大小
- 位置设置:支持四个角的位置(左上、右上、左下、右下)
- 边距控制:可设置按钮的边距
- 触摸效果:支持按压/触摸时的视觉反馈效果
- 轻量级:文件体积小,仅 13.6 KB
截图
Logo 和界面


功能示例

积木示例

函数
- SetFabSize 设置按钮大小(大小)
- 设置悬浮按钮的大小(像素)。
- 大小:数字类型,按钮的直径大小
- 返回类型:无返回值
- SetFabColor 设置按钮颜色(颜色)
- 设置悬浮按钮的背景颜色。
- 颜色:数字类型,颜色值(使用颜色组件)
- 返回类型:无返回值
- SetIconColor 设置图标颜色(颜色)
- 设置悬浮按钮内图标的颜色。
- 颜色:数字类型,颜色值(使用颜色组件)
- 返回类型:无返回值
- SetFabPosition 设置按钮位置(位置)
- 设置悬浮按钮的位置。
- 位置:文本类型,可选值:”TopLeft”、”TopRight”、”BottomLeft”、”BottomRight”
- 返回类型:无返回值
- SetPadding 设置边距(左边距,上边距,右边距,下边距)
- 设置悬浮按钮的内边距。
- 左边距:数字类型,左内边距
- 上边距:数字类型,上内边距
- 右边距:数字类型,右内边距
- 下边距:数字类型,下内边距
- 返回类型:无返回值
- SetIconFromAsset 设置资源图标(图标名称)
- 从项目资源中设置自定义 PNG 图标。
- 图标名称:文本类型,PNG 图标的文件名(不含扩展名)
- 返回类型:无返回值
- UseDefaultIcon 使用默认图标()
- 使用默认的加号 (+) 图标。
- 返回类型:无返回值
- ShowFab 显示按钮()
- 显示悬浮按钮。
- 返回类型:无返回值
- HideFab 隐藏按钮()
- 隐藏悬浮按钮。
- 返回类型:无返回值
- EnableRippleEffect 启用波纹效果(启用)
- 启用或禁用按钮的波纹触摸效果。
- 启用:布尔类型,是否启用波纹效果
- 返回类型:无返回值
事件
- FabClicked 按钮点击()
- 当悬浮按钮被点击时触发。
- 返回类型:无返回值
属性
- FabSize 按钮大小
- 获取或设置悬浮按钮的大小。
- 类型:数字类型
- 默认值:56
- FabColor 按钮颜色
- 获取或设置悬浮按钮的背景颜色。
- 类型:数字类型
- 默认值:-16776961(蓝色)
- IconColor 图标颜色
- 获取或设置悬浮按钮图标的颜色。
- 类型:数字类型
- 默认值:-1(白色)
- FabPosition 按钮位置
- 获取或设置悬浮按钮的位置。
- 类型:文本类型
- 默认值:”BottomRight”
- 可选值:”TopLeft”、”TopRight”、”BottomLeft”、”BottomRight”
- PaddingLeft 左边距
- 获取或设置左内边距。
- 类型:数字类型
- 默认值:0
- PaddingTop 上边距
- 获取或设置上内边距。
- 类型:数字类型
- 默认值:0
- PaddingRight 右边距
- 获取或设置右内边距。
- 类型:数字类型
- 默认值:0
- PaddingBottom 下边距
- 获取或设置下内边距。
- 类型:数字类型
- 默认值:0
- IsVisible 是否可见
- 获取悬浮按钮当前是否可见。
- 类型:布尔类型
- 只读:是
- RippleEnabled 波纹效果启用
- 获取或设置是否启用了波纹触摸效果。
- 类型:布尔类型
- 默认值:true
应用场景
1. 快速新建按钮
创建快速新建项目的悬浮按钮:
当 Screen1.初始化
调用 FloatActionBtn1.SetFabPosition 设置按钮位置为"BottomRight"
调用 FloatActionBtn1.SetFabSize 设置按钮大小为56
调用 FloatActionBtn1.SetFabColor 设置按钮颜色为应用主题色
调用 FloatActionBtn1.UseDefaultIcon 使用默认图标
当 FloatActionBtn1.按钮点击
打开新建项目屏幕
2. 自定义图标按钮
使用自定义图标的悬浮按钮:
当 Screen1.初始化
调用 FloatActionBtn1.SetIconFromAsset 设置资源图标为"custom_icon"
调用 FloatActionBtn1.SetFabColor 设置按钮颜色为绿色
调用 FloatActionBtn1.SetIconColor 设置图标颜色为白色
3. 多位置按钮
在不同位置显示悬浮按钮:
当 Button_切换位置.点击
如果 当前位置 = "BottomRight" 则
调用 FloatActionBtn1.SetFabPosition 设置按钮位置为"TopRight"
设置 当前位置 为 "TopRight"
否则如果 当前位置 = "TopRight" 则
调用 FloatActionBtn1.SetFabPosition 设置按钮位置为"TopLeft"
设置 当前位置 为 "TopLeft"
4. 调整按钮样式
自定义按钮大小和边距:
当 Screen1.初始化
调用 FloatActionBtn1.SetFabSize 设置按钮大小为64
调用 FloatActionBtn1.SetPadding 设置边距为16 16 16 16
调用 FloatActionBtn1.EnableRippleEffect 启用波纹效果为true
5. 条件显示按钮
根据用户权限显示或隐藏按钮:
当 用户登录状态改变
如果 用户已登录 = true 则
调用 FloatActionBtn1.ShowFab 显示按钮
否则
调用 FloatActionBtn1.HideFab 隐藏按钮
6. 颜色主题适配
根据应用主题调整按钮颜色:
当 应用主题改变
如果 主题模式 = "深色" 则
调用 FloatActionBtn1.SetFabColor 设置按钮颜色为浅色
调用 FloatActionBtn1.SetIconColor 设置图标颜色为深色
否则
调用 FloatActionBtn1.SetFabColor 设置按钮颜色为深色
调用 FloatActionBtn1.SetIconColor 设置图标颜色为浅色
使用说明
基本使用步骤
- 添加扩展:将 FloatActionBtn 扩展添加到项目中
- 上传图标(可选):将 PNG 图标上传到项目的 Assets 文件夹
- 设置属性:使用设计器属性面板或积木块设置按钮外观
- 配置位置:选择按钮在屏幕上的位置
- 添加事件:为按钮点击事件添加处理逻辑
- 测试运行:在设备上测试按钮的显示和交互
重要提示
- 图标格式:只支持 PNG 格式的图标
- 图标位置:图标应放在项目的 Assets 文件夹中
- 位置选项:只能在四个预定义位置中选择(左上、右上、左下、右下)
- 默认位置:默认为右下角 (BottomRight)
- 边距设置:边距以像素为单位
位置说明
扩展支持以下四个预定义位置:
- TopLeft:屏幕左上角
- TopRight:屏幕右上角
- BottomLeft:屏幕左下角
- BottomRight:屏幕右下角(默认)
图标设置
有两种设置图标的方式:
- 默认图标:使用
UseDefaultIcon方法使用加号 (+) 图标 - 自定义图标:使用
SetIconFromAsset方法从资源加载 PNG 图标
最佳实践
- 位置选择:右下角是最常用的位置,符合大多数用户习惯
- 大小规范:标准大小为 56dp,迷你大小为 40dp
- 颜色对比:确保图标颜色与背景颜色有足够的对比度
- 功能单一:每个悬浮按钮应代表一个主要操作
- 边距设置:适当设置边距避免按钮贴边显示
技术说明
尺寸规范
根据 Material Design 规范:
- 标准按钮:56 × 56 dp
- 迷你按钮:40 × 40 dp
- 图标大小:24 × 24 dp
- 推荐边距:16 dp
波纹效果
波纹效果是 Material Design 的特色触摸反馈:
- 提供视觉反馈,增强用户交互体验
- 从触摸点向四周扩散的波纹动画
- 可以通过
EnableRippleEffect方法启用或禁用
图标要求
- 格式:必须是 PNG 格式
- 尺寸:推荐 24 × 24 dp 或 48 × 48 dp
- 背景:图标应具有透明背景
- 颜色:建议使用单色图标,颜色可通过
SetIconColor设置
版本信息
- 当前版本:1.0
- 发布日期:2025年8月31日
- 文件大小:13.6 KB
- 兼容性:App Inventor 2、Kodular、Thunkable
常见问题
Q: 如何更改按钮位置?
A: 使用 SetFabPosition 方法,可以设置为 “TopLeft”、”TopRight”、”BottomLeft” 或 “BottomRight”。
Q: 支持自定义图标吗?
A: 支持,使用 SetIconFromAsset 方法从项目资源加载 PNG 图标。
Q: 如何禁用波纹效果?
A: 使用 EnableRippleEffect(false) 方法。
Q: 可以设置任意位置吗?
A: 不可以,只能在四个预定义的位置中选择。
Q: 按钮不显示怎么办?
A: 检查是否调用了 ShowFab 方法,确认按钮没有被隐藏。
版权信息
本文档基于 MIT App Inventor Community 论坛帖子整理,原作者为 Kenneth Morales (KenMorales)。
原始链接:https://community.appinventor.mit.edu/t/free-floatactionbtn/154743
文档翻译和整理:AI2中文网
最后更新:2024年12月29日
扫码添加客服咨询