「Mac畅玩鸿蒙与硬件44」UI互动应用篇21 - 随机励志语录天生器

[复制链接]
发表于 2025-12-13 09:30:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本篇将带你实现一个随机励志语录天生器应用。用户点击按钮后,界面会随机表现一条预设的励志语录。该应用展示了怎样团结数组使用、状态管理和动态更新界面内容的功能,是一个轻量级的互动应用示例。


关键词



  • UI互动应用
  • 动态内容更新
  • 状态管理
  • 随机天生
  • 用户交互

一、功能阐明

随机励志语录天生器应用允许用户通过点击按钮,从预设的励志语录中随机选择一条表现在界面上,提供轻松的互动体验。

二、所需组件



  • @Entry 和 @Component 装饰器
  • Column 结构组件
  • Text 组件用于表现励志语录
  • Button 组件用于天生随机语录
  • @State 修饰符用于状态管理

三、项目结构



  • 项目名称:RandomQuoteApp
  • 自界说组件名称:QuoteGeneratorPage
  • 代码文件:QuoteGeneratorPage.ets、Index.ets

四、代码实现

  1. // 文件名:QuoteGeneratorPage.ets
  2. @Component
  3. export struct QuoteGeneratorPage {
  4.   // 预设励志语录数组
  5.   private quotes: string[] = [
  6.     '不要害怕失败,因为你正在进步。',
  7.     '成功是努力和运气的结合。',
  8.     '每天进步一点点,成功就在前方。',
  9.     '保持专注,你会发现世界的美好。',
  10.     '学习使人强大,行动让梦想成真。'
  11.   ];
  12.   @State currentQuote: string = '点击下方按钮生成随机励志语录!'; // 当前显示的语录
  13.   build() {
  14.     Column({ space: 20 }) { // 创建垂直布局容器
  15.       // 显示当前语录
  16.       Text(this.currentQuote)
  17.         .fontSize(18)
  18.         .fontWeight(FontWeight.Bold)
  19.         .textAlign(TextAlign.Center)
  20.         .padding(20);
  21.       // 励志语录生成按钮
  22.       Button('生成随机语录')
  23.         .onClick(() => this.generateRandomQuote())
  24.         .fontSize(20)
  25.         .backgroundColor(Color.Blue)
  26.         .fontColor(Color.White)
  27.         .width('50%')
  28.         .alignSelf(ItemAlign.Center);
  29.       // 显示猫咪图片装饰
  30.       Image($r('app.media.cat'))
  31.         .width(85)
  32.         .height(100)
  33.         .borderRadius(5)
  34.         .alignSelf(ItemAlign.Center);
  35.     }
  36.     .padding(20)
  37.     .width('100%')
  38.     .height('100%')
  39.     .alignItems(HorizontalAlign.Center);
  40.   }
  41.   // 随机生成语录的方法
  42.   private generateRandomQuote() {
  43.     const randomIndex = Math.floor(Math.random() * this.quotes.length);
  44.     this.currentQuote = this.quotes[randomIndex];
  45.   }
  46. }
复制代码
  1. // 文件名:Index.ets
  2. import { QuoteGeneratorPage } from './QuoteGeneratorPage';
  3. @Entry
  4. @Component
  5. struct Index {
  6.   build() {
  7.     Column() {
  8.       QuoteGeneratorPage() // 调用语录生成器页面
  9.     }
  10.     .padding(20)
  11.   }
  12. }
复制代码
  效果示例:用户点击按钮后,界面会表现一条随机励志语录,搭配猫咪图片增长意见意义性。
  

  
五、代码解读



  • 状态管理:@State currentQuote 生存当前表现的语录,点击按钮时更新状态。
  • 随机天生:通过 Math.random() 获取数组中的随机索引,实现随机选择语录。
  • 动态内容更新:状态更新后,界面会实时革新表现新的语录。

六、优化发起


  • 用户自界说语录:允许用户输入自己的语录并生存到本地存储。
  • 语录分类功能:增长分类筛选功能,如励志、幽默、哲理等。
  • 动画效果:为新语录表现添加淡入淡出效果,提拔视觉体验。

七、相干知识点



  • 「Mac畅玩鸿蒙与硬件11」鸿蒙UI组件篇1 - Text和Button组件详解
  • 「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提示功能实现

小结

通过本篇教程,你学会了怎样使用数组和状态管理实现动态内容更新,并结实用户交互展示随机语录。此示例简质朴用,为构建类似功能的应用提供了良好的根本。

下一篇预报

在下一篇「UI互动应用篇14 - 语音笔墨转录」中,我们将探索怎样团结语音输入功能,实现笔墨的实时转录与编辑。

上一篇: 「Mac畅玩鸿蒙与硬件43」UI互动应用篇20 - 闪烁按钮效果

下一篇: 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具


作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=386
來源:坚果派
著作权归作者全部。商业转载请接洽作者得到授权,非商业转载请注明出处。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表