当前位置: 首页 > news >正文

鸿蒙小练习

bean对象

export  class  BannerImage{id:numberurl:stringtargetUrl:stringproductId:numberconstructor(id: number, url: string, targetUrl: string, productId: number) {this.id = idthis.url = urlthis.targetUrl = targetUrlthis.productId = productId}
}export class  dtos{pid:numberconstructor(pid: number) {this.pid = pid}}

首页

import {SysTemContents} from "../commons/Contents"
import { router } from '@kit.ArkUI';
import {BannerImage,dtos} from "../beans/BeannerImages"@Entry
@Component
struct Index {// @State message: string = 'Hello World';@State bannerArr:BannerImage[] =[new BannerImage(1,"app.media.1","pages/SearchPage",1),new BannerImage(2,"app.media.2","pages/SearchPage",2),new BannerImage(3,"app.media.3","pages/SearchPage",3),new BannerImage(4,"app.media.4","pages/SearchPage",4),new BannerImage(5,"app.media.5","pages/SearchPage",5),]@State bannerIndex:number =0build() {
Column() {Column() {//   搜索栏Row() {// Image()}.width(30).backgroundColor("#ffff2626")Row({ space: 5 }) {Text("想要什么就搜一搜")}.width("70%").backgroundColor("#ffff").height(35).onClick(() => {router.pushUrl({url: "pages/SearchPage"})})Row() {Swiper() {ForEach(this.bannerArr, (item: BannerImage) => {Image($r(item.url))})// Image($r("app.media.2")).objectFit(ImageFit.ScaleDown)// Image($r("app.media.3"))// Image($r("app.media.4"))// Image($r("app.media.5"))// Image($r("app.media.1"))}.onChange((index: number) => {// console.log(index.toString())this.bannerIndex = index})// 点击事件.onClick(() => {//  这里写图片的跳转console.log(this.bannerIndex.toString())router.pushUrl({url: this.bannerArr[this.bannerIndex].targetUrl,params: this.bannerArr[this.bannerIndex].productId})}).indicator( // 设置圆点导航点样式new DotIndicator().itemWidth(15).itemHeight(15).selectedItemWidth(15).selectedItemHeight(15).color(Color.Gray).selectedColor(Color.Blue)).autoPlay(true).loop(true).borderRadius(12)}.width("95%").height(150).backgroundColor("#fff").margin({ top: 12 })}.width("100%")Row(){Column(){Image($r("app.media.shangp")).width(30)Text("商品").margin({top:6})}Column(){Image($r("app.media.shangp")).width(30)Text("美容").margin({top:6})}Column(){Image($r("app.media.shangp")).width(30)Text("洗脚").margin({top:6})}Column(){Image($r("app.media.shangp")).width(30)Text("洗脚").margin({top:6})}}.justifyContent(FlexAlign.SpaceAround).height(100).backgroundColor("#fff").width("100%")Row(){Text("猜你喜欢谁")}Divider().strokeWidth(1).color('#ff600505')}.height(220).backgroundColor("#ff9d274c")}
}

跳转页面

import { router } from '@kit.ArkUI';@Entry
@Component
struct SearchPage {@State message: string = 'Hello World';build() {RelativeContainer() {Text(this.message).id('SearchPageHelloWorld').fontSize(50).fontWeight(FontWeight.Bold).alignRules({center: { anchor: '__container__', align: VerticalAlign.Center },middle: { anchor: '__container__', align: HorizontalAlign.Center }})}.height('100%').width('100%')}onPageShow(): void {let n1 = router.getParams()console.log("这是我接受的参数")// console.log(n1.toString())console.debug(n1.toString())}
}

效果图

跳转后页面

明明拿到了参数,但是为什么会报错?可能是类型对不上,因为我传的参数是int

练习的知识点:

1.轮播图

bean对象

轮播图我遍历了下一个对象的数组,类似于java数组

2.页面跳转

带有参数跳转页面,模仿广告跳转

3.快捷菜单栏

一个样式布局

只能有一个根标签,所以我们要用个column,把轮播和页面跳转,包起来。

4.分割器

http://www.lryc.cn/news/395395.html

相关文章:

  • 谷粒商城-个人笔记(集群部署篇二)
  • Python面试题-7
  • 微信⼩程序的电影推荐系统-计算机毕业设计源码76756
  • 理解与解读李彦宏在2024世界人工智能大会的发言:应用优先于技术
  • 数字化打破传统,引领企业跨界经营与行业生态盈利
  • 【链表】- 链表相交
  • 【python 学习】快速了解python内置类型
  • npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR!
  • 智能井盖采集装置 开启井下安全新篇章
  • C# AGV小车通讯开发的方法
  • 01-图像基础-颜色空间
  • 双向链表+Map实现LRU
  • HTML(27)——渐变
  • 2024上半年网络工程师考试《应用技术》试题一
  • pnpm介绍
  • Linux内核的启动过程(非常详细)零基础入门到精通,收藏这一篇就够了
  • 相关分析 - 肯德尔系数
  • 【咨询】企业数字档案馆(室)建设方案-模版范例
  • selfClass 与 superClass 的区别
  • 秒懂设计模式--学习笔记(6)【创建篇-建造者模式】
  • 领略超越王勃的AI颂扬艺术:一睹其惊艳夸赞风采
  • Linux走进网络
  • go语言Gin框架的学习路线(六)
  • Java面经知识点汇总版
  • 详细分析Sql Server中的declare基本知识
  • Perl 语言入门:编写并执行你的第一个脚本
  • python库 - missingno
  • VPN的限制使得WinSCP无法直接连接到FTP服务器解决办法
  • PCI DSS是什么?
  • DeepMind的JEST技术:AI训练速度提升13倍,能效增强10倍,引领绿色AI革命