App Inventor 2 悬浮通知与导航栏教程 - NotificationStyle与Navbar扩展

« 返回首页

概述

已有文档extensions/NotificationStyle.mdextensions/navbar.md 分别介绍了通知样式扩展和导航栏扩展。本文整合两者,补充实战指导。

通知系统

通知渠道(Android 8+必需)

当 Screen1.初始化
  ' 创建通知渠道
  调用 NotificationStyle1.创建通道(
    "messages",       ' 渠道ID
    "消息通知",        ' 渠道名称
    "接收新消息通知",   ' 渠道描述
    3                  ' 重要性(1-5)
  )

基本通知

当 按钮_发送通知.被点击
  调用 NotificationStyle1.显示通知(
    "messages",     ' 渠道ID
    1001,           ' 通知ID
    "新消息",        ' 标题
    "你收到了一条新消息", ' 内容
    "app_icon"      ' 图标
  )

大文本通知

调用 NotificationStyle1.显示大文本通知(
  "messages", 1001,
  "长文章标题",
  "这是一篇很长的文章内容...",
  "摘要信息"
)

带操作按钮的通知

调用 NotificationStyle1.显示带按钮通知(
  "messages", 1001,
  "提醒",
  "别忘了吃药!",
  "app_icon",
  ["稍后提醒", "已完成"]  ' 按钮文本列表
)

当 NotificationStyle1.按钮点击(通知ID, 按钮索引)
  如果 按钮索引 = 1
    ' 稍后提醒 → 5分钟后再通知
    设 Clock_延迟.计时器间隔 = 300000
    设 Clock_延迟.启用计时器 = true
  否则 如果 按钮索引 = 2
    ' 已完成 → 取消通知
    调用 NotificationStyle1.取消通知(1001)

进度条通知

设 进度 = 0

当 Clock_下载.计时
  设 进度 = 进度 + 5
  调用 NotificationStyle1.显示进度通知(
    "download", 2001,
    "下载中...",
    "正在下载文件",
    进度, 100  ' 当前进度, 总进度
  )
  如果 进度 ≥ 100
    设 Clock_下载.启用计时器 = false
    调用 NotificationStyle1.显示通知(
      "download", 2001, "下载完成", "文件已保存", "app_icon")

底部导航栏

已有文档

extensions/navbar.md 已介绍基本用法。此处补充实战。

配置导航栏

当 Screen1.初始化
  ' 添加导航项
  调用 Navbar1.添加项目("首页", "home_icon.png", 红色)
  调用 Navbar1.添加项目("消息", "message_icon.png", 蓝色)
  调用 Navbar1.添加项目("我的", "profile_icon.png", 绿色)
  调用 Navbar1.设置选中项(1)  ' 默认选中首页

当 Navbar1.项目被选中(位置)
  如果 位置 = 1
    设 VerticalArrangement_首页.可见 = true
    设 VerticalArrangement_消息.可见 = false
    设 VerticalArrangement_我的.可见 = false
  否则 如果 位置 = 2
    设 VerticalArrangement_首页.可见 = false
    设 VerticalArrangement_消息.可见 = true
    设 VerticalArrangement_我的.可见 = false
  否则 如果 位置 = 3
    设 VerticalArrangement_首页.可见 = false
    设 VerticalArrangement_消息.可见 = false
    设 VerticalArrangement_我的.可见 = true

常见问题

Q1: Android 13+通知不显示?

Android 13需要运行时通知权限。在Screen1初始化时请求:

当 Screen1.初始化
  调用 请求权限("android.permission.POST_NOTIFICATIONS")

Q2: 通知点击无法打开App?

需要设置通知的PendingIntent。部分扩展支持设置点击后的动作。

Q3: 导航栏遮挡底部内容?

在布局底部留出导航栏高度的空间(通常56dp)。

总结

功能 扩展 说明
基本通知 NotificationStyle Android 8+需要渠道
大文本通知 NotificationStyle 展开显示长文本
进度通知 NotificationStyle 下载/上传进度
按钮通知 NotificationStyle 可操作通知
底部导航 Navbar 底部Tab切换

版权声明:MIT App Inventor 官方文档采用 CC BY-SA 4.0 授权,本文档由 ai2claw 🐝 整理。

文档反馈