鸿蒙开发【实现页面路由跳转】接上一个微博页面

给顶部最左边的日历图标设置点击事件实现页面跳转
需要展示页面内容示例图:

6.1.1.设置页面头部内容

新建一个页面命名为MydailyPage ,给整个页面设置背景属性

代码如下:

@Entry
@Component

struct MydailyPage {

build() {
 
Column() {

}
   
.height('100%')
   
.backgroundColor(Color.Black)
 
}
}

(1)自定义变量的值

代码示例:

@State message: string = '记录我的日常'
@State name :string='用户5348130863'
@State title:string ='随时随地记录生活'

(2)在build里面添加内容

Row() {
 
Image($r("app.media.quxiao1")).width(25).height(25)
 
Text(this.message)
   
.fontSize(20)
   
.fontColor(Color.White).margin(20)
 
Image($r("app.media.wurao1")).width(25).height(25)
 

}
.justifyContent(FlexAlign.SpaceAround)
.width('100%')

运行效果:

(3)利用线性布局绘制用户名以及头像

代码示例:

Row(){
 
Image($r('app.media.meme')).width(60).height(60)
   
.borderRadius(50).margin({left:10})
 
Column(){
   
Text(this.name) .fontColor(Color.White).margin(12)
   
Text(this.title) .fontColor(Color.White)

 
}
}

.width('100%')
.height(80)

6.1.2.利用线性布局添加日历内容,并添加border属性
(1)定义一个head类用来封装

 class head{
 
weekend: string
 
num:string
 
constructor( weekend: string,num:string) {
   
this.weekend =weekend
   
this.num=num
 
}
}

(2)自定义一个clender的列表用来封装内容

@Provide clender:Array<head> =[
 
new head('周日','5'),
  new
head('周一','6'),
  new
head('周二','今天'),
  new
head('周三','8'),
  new
head('周四','9'),
  new
head('周五','10'),
  new
head('周六','11'),
]

(3)利用ForEach循环渲从而减少代码量

代码示例:

Row(){
 
Text('5月日历').fontColor(Color.White).fontSize(25)
}.margin({left:200})

Row({space:10}){
   
ForEach(this.clender,(item:head)=>{
     
Column({space:10}){
       
Text(item.weekend).fontColor(Color.White).fontSize(20)
       
Text(item.num).fontColor(Color.White)
     
}
    }
)

} .border({ style: BorderStyle.Solid, width: 1, radius: 5, color: '#1a1d26' })
.backgroundColor('#1a1d26' )
.height(100)
.width('95%')

给Row容器添加border属性,从而实现效果

6.1.3.利用list组件以及ForEach循环渲染
(1)定义recoder类用来封装

代码示例:

 class recoder{
 
title:string
 
content :string
 
color:string
 
constructor( title:string,content :string, color?:string) {
   
this.title = title
   
this.content = content
   
this.color=color
  }
}

(2)自定义构建函数list列表

代码示例:

@Provide life:Array<recoder> =[
 
new recoder('初夏随手拍','活动小队长 ...','#FFC125'),
  new
recoder('记录生活 ...','活动小队长 ...','#43CD80'),
  new
recoder('每日一餐 ...','热度值:193.2w','#ff5995d0'),
  new
recoder('随手拍打卡','热度值:243.6w','#FF69B4'),
  new
recoder('匿名世界','绿洲 创建','#663399'),
  new
recoder('视频快拍','记录精彩瞬间','#ff00ff'),
  new
recoder('每天摸鱼','活动小队长 ...','#FFC125'),
  new
recoder('追剧打卡 ','热度值:191.2w','#43CD80'),
  new
recoder('坚持运动','热度值:124.7w','#ff5995d0'),
]

(3)创建构造函数Sharelife

代码示例:

@Builder function Sharelife(item:recoder){
 
Column(){
   
Text(item.title).fontSize(18).fontColor(Color.White)
   
Text(item.content).fontColor(Color.White)
   
Button('...').backgroundColor(Color.Transparent).margin({left:50})

 
}.border({ style: BorderStyle.Solid, width:1, radius: 10, color:Color.Grey })
 
.width(110).height(90)
 
.backgroundColor(item.color)
 
.margin(5)
}

(4)利用list,ForEach循环渲染

代码示例:

Divider().height(10)
Image($r('app.media.lifebook')).width('95%').height(100)
Row(){
 
List(){
   
ForEach(this.life,(item:recoder)=>{
     
ListItem(){
       
Sharelife(item)
     
}
    }
)
 
}.listDirection(Axis.Horizontal)
 
.lanes(3) //设置行数

}.width('100%')
.height('40%')

6.1.4. 设置底部内容

代码示例:

Row(){
 
Text('查看更多').fontColor(Color.White)
 
Image($r('app.media.select')).width(30)
}.height('7%').width('95%')
.justifyContent(FlexAlign.Center)
.border({ style: BorderStyle.Solid, width: 1, radius: 10, color: '#1a1d26' })
 
.backgroundColor('#1a1d26')

6.2 .给页面添加路由实现跳转

(1)给MicrBlogPage和MydailyPage页面导包

代码示例:

import router from '@ohos.router';

(2)回到MicrBlogPage页面添加点击事件

代码如下:

Row() {
 
Image($r('app.media.sign_in')).fancy().margin({ top: 20, left: 20 })
   
.onClick(() => {
     
router.pushUrl({
       
url: 'pages/HQ/MydailyPage'
     
}, router.RouterMode.Single, (err) => {
       
if (err) {
         
console.log(`路由失败,errCode:${err.code}errMsg:${err.message}`)
         
return;
       
}
       
console.info('Invoke replaceUrl succeeded.');
     
})

   
})
}
.zIndex(10)

(3)给MydailyPage里面的图片也添加点击事件

Image($r("app.media.quxiao1")).width(25).height(25)
 
.onClick(()=>{
   
//路由返回上一页
    router.back();
 
})

这样即可实现跳转效果

(4) 利用弹窗组件给勿扰图片设置点击效果

代码示例:

Image($r("app.media.wurao1")).width(25).height(25)
 
.onClick(()=>{
   
AlertDialog.show({
     
message:'开启消息通知,每天提醒我来打卡',
     
autoCancel: true,
     
alignment: DialogAlignment.Center,
     
gridCount: 5,
     
primaryButton: {
       
value: '取消',
       
fontColor:'black',
       
action: () => {
         
console.info('Callback when the first button is clicked')
       
}
      }
,
     
secondaryButton: {
       
value: '确定',
       
fontColor:'#FB8845',
       
action: () => {
         
console.info('Callback when the second button is clicked')
       
}
      }
    }
)

 
})

运行效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662177.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI生成四季变化解决方案,四季之美,一图尽揽

随着AI技术已经渗透到我们生活的方方面面&#xff0c;在这个充满变化的时代&#xff0c;美摄科技以其前沿的AI生成技术&#xff0c;为企业带来了全新的视觉体验——AI生成四季变化解决方案。这一方案不仅能够让车辆实拍的照片焕发不同季节的风采&#xff0c;更能在不改变原图构…

SheetJS V0.17.5 导入 Excel 异常修复 Invalid HTML:could not find<table>

导入 Excel 提示错误&#xff1a;Invalid HTML:could not find<table> 检查源代码 发现 table 属性有回车符 Overview: https://docs.sheetjs.com/docs/ Source: https://git.sheetjs.com/sheetjs/sheetjs/issues The public-facing websites of SheetJS: sheetjs.com…

电脑msvcp140_atomic_wait.dll丢失的高效率解决方法,快速的一键修复

我们常常遇到各种不可预见的电脑故障问题&#xff0c;msvcp140_atomic_wait.dll丢失是一个常见的系统错误&#xff0c;它通常发生在Windows操作系统中&#xff0c;特别是当用户尝试运行依赖于Microsoft Visual C Redistributable的应用程序时。该问题可能导致程序崩溃或无法启动…

【C language】判断一个正整数是否是2^n

题解&#xff1a;判断一个正整数是否是2^n(位运算方法) 1.题目 判断一个正整数是否是2^n 2.位运算法 思路&#xff1a;干掉二进制最右边的1&#xff0c;看是否是0 int main() {int num 16;if ((num & (num - 1)) 0) printf("the num is a 2^n");else print…

老师如何对付挑事儿的家长?

身为老师&#xff0c;你有没有遇到过这样的家长&#xff1a;孩子在学校里闹点小矛盾&#xff0c;或者作业分数有点争议&#xff0c;他们就气势汹汹地来找你&#xff0c;说你偏心&#xff0c;甚至在其他家长面前说三道四&#xff1f;面对这种爱“挑事”的家长&#xff0c;老师们…

Axure RP软件汉化操作步骤

随着互联网产业的发展&#xff0c;设计师已经成为一个越来越受欢迎的职业&#xff0c;设计软件已经成为设计师必不可少的工具。说到设计软件&#xff0c;不得不说的是 Axure rp &#xff0c;越来越多的设计师使用它来设计产品原型&#xff0c;作为美国 Axure Software Solution…

2.10 mysql设置远程访问权限

2.10 mysql设置远程访问权限 目录1. 管理员运行mysql命令窗口2. 使用 root 用户重新登录 MySQL3. 修改用户权限4. 修改mysql安装目录下的my.ini 目录 说明&#xff1a; Mysql8.0 设置远程访问权限 一、Mysql8.0 设置远程访问权限 1. 管理员运行mysql命令窗口 2. 使用 root 用…

数据库学习笔记1-数据库实验1

文章目录 创建表格的时候出现的一些错误查询所有的表格实验一查询单个表格分块修改大学数据库表格创建大学数据库表格系课程教师课程段授课学生选课注意吐槽 修改大学数据库表格2&#xff08;英文版本&#xff09;abcde 自建项目-在线书店数据库 创建表格的时候出现的一些错误 …

如何在.htaccess文件创建一个自定义404页面

本周有一个客户&#xff0c;购买Hostease的虚拟主机&#xff0c;询问我们的在线客服&#xff0c;如何在.htaccess文件创建一个自定义404页面&#xff1f;我们为用户提供相关教程&#xff0c;用户很快解决了遇到的问题。在此&#xff0c;我们分享这个操作教程&#xff0c;希望可…

uni-app解决表格uni-table样式问题

一、如何让表格文字只显示一行&#xff0c;超出部分用省略号表示 步骤 &#xff1a; 给table设置table-layout:fixed; 列宽由表格宽度和列宽度设定。&#xff08;默认是由单元格内容设定&#xff09;让表格元素继承父元素宽度固定table-layout: inherit;overflow: hidden;超过…

大模型对齐方法笔记二:基于Rank的对齐方法RRHF和PRO

文章目录 RRHFPRO将RLHF嫁接到PRO 参考资料 RRHF RRHF(Rank Responses to align Human Feedback)出自2023年4月的论文《RRHF: Rank Responses to Align Language Models with Human Feedback without tears》&#xff0c;是较早提出的不需要使用PPO来对齐人类偏好的方法。 设…

Linux网络编程: udp,tcp协议原理

Linux网络编程: udp,tcp协议原理 一.udp和tcp的介绍1.udp介绍1.udp的特点2.udp的适用场景3.udp效率分析 2.tcp介绍1.tcp的特点2.tcp的适用场景 二.udp协议原理1.udp协议段格式2.udp的缓冲区和全双工通信 三.tcp协议段1.tcp协议段格式2.发送接收缓冲区3.确认应答ACK机制,窗口大小…

解决Android studio 一直提示下载gradle-xxx-all.zip问题

今天用AndroidStdiod打开一个新工程的时候&#xff0c;发现项目一直卡在正在下载gradle-xxx-all.zip的任务上&#xff0c;网络出奇的慢&#xff0c;即使配了VPN也无济于事&#xff0c;于是按照以往经验&#xff1a;将gradle-xxx-all.zip下载到.gradle\gradle\wrapper\dists目录…

oracle数据回显时候递归实战

太简单的两篇递归循环 orcale 在项目里递归循环实战 先看资产表T_ATOM_ASSET结构 看业务类别表T_ATOM_BUSI_CATEGORY结构 问题出现 页面显示 实际对应的归属业务分类 涉及到oracle递归实战(这里不会如何直接在atomAsset的seelct里面处理递归回显) 直接在实现层看atomAs…

conda修改环境名称后,无法安装包,显示no such file

1问题描述 原本创建环境时设置的名字不太合适&#xff0c;但是因为重新创建环境很麻烦&#xff0c;安装很多包。。所以想直接对包名进行修改&#xff0c;本人采用的方式是直接找到conda环境的文件目录&#xff0c;然后修改文件名&#xff0c;简单粗暴。确实修改成功了&#xf…

外卖系统开发的技术栈和架构设计

开发一个功能完备且高效的外卖系统&#xff0c;需要选择合适的技术栈并设计良好的系统架构。本文将详细介绍外卖系统开发过程中常用的技术栈以及架构设计的关键要点&#xff0c;帮助开发者构建一个高性能、可扩展且易维护的外卖平台。 1. 技术栈选择 选择合适的技术栈是开发…

京东二面:为什么Netty要造FastThreadLocal?

FastThreadLocal 从字面意义上来看&#xff0c;它是“Fast”“ThreadLocal”的结合体&#xff0c;寓意为快速的 ThreadLocal。那么&#xff0c;问题来了&#xff0c;Netty 为什么要再造一个 FastThreadLocal&#xff1f;FastThreadLocal 运行快的原因是啥&#xff1f;除了快之外…

colmap在windows上编译好的程序直接可以运行支持cuda

1.colamp简介 COLMAP 是一种通用的运动结构 (SfM) 和多视图立体 (MVS) 管道&#xff0c;具有图形和命令行界面。它为有序和无序图像集合的重建提供了广泛的功能。 2.数据采集 手机或者相机 绕 物体拍一周&#xff0c;每张的角度不要超过30&#xff08;保证有overlap区域&#…

整合SSM框架笔记

整合SSM框架笔记 Spring5 Spring MVC MyBatis Druid MySQL Thymeleaf 感谢尚硅谷课程&#xff1a;B站课程 前言 单Spring框架时&#xff0c;是Java工程。 Spring与Spring MVC可以共用一个配置文件&#xff0c;也可以不共用一个&#xff0c;推荐不共用一个。 Spring与Sp…

Scala编程基础3 数组、映射、元组、集合

Scala编程基础3 数组、映射、元组、集合 小白的Scala学习笔记 2024/5/23 14:20 文章目录 Scala编程基础3 数组、映射、元组、集合apply方法数组yield 数组的一些方法映射元组数据类型转换求和示例拉链集合flatMap方法 SetHashMap apply方法 可以new&#xff0c;也可以不new&am…