鸿蒙开发【闹钟】实操步骤

闹钟实操文档

一 、页面前期准备工作

1.设置tabs下标签

设置自定义tab标签的内容属性,以及点击事件,为其设置标签的位置处于底部标签并且导入相应的图片。

代码如下:

Entry
@Component
 
struct Index {
 
@State currentIndex: number = 0
 
private tabsController: TabsController = new TabsController()
 
@Builder TabBuilder(title: string, image: Resource, selectImage: Resource, tag: number, badgeValue: number = 0) {
   
Column({ space: 3 }) {
     
Badge({ count: badgeValue, style: { badgeSize: 16 } }) {
       
Image(this.currentIndex == tag ? selectImage : image).size({ width: 25, height: 20 })
     
}
     
Text(title).fontColor(this.currentIndex == tag ? 'black' : '#000000')
   
}.width('100%').height('50').justifyContent(FlexAlign.Center)
   
.onClick(() => {
     
this.currentIndex = tag
     
this.tabsController.changeIndex(this.currentIndex)
   
})
 
}
 
build() {
   
Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) {
     
TabContent() {
  

      }
     
.tabBar(this.TabBuilder('闹钟', $r('app.media.clock'), $r("app.media.clock"), 0))
     
TabContent() {

      }
     
.tabBar(this.TabBuilder('世界时钟', $r('app.media.world'), $r('app.media.world'), 1))
     
TabContent() {

      }
     
.tabBar(this.TabBuilder('计时器', $r('app.media.jishiqi'), $r('app.media.jishiqi'), 2))
   
}
  }
}

运行结果如下:

2.创建一个新的页面

新建一个子页面命名为ClockPage 用来封装

闹钟里面的内容,在其页面布局

代码示例:

@Component
 
export struct ClockPage {

build() {
 
Column(){

   }

  }
}

二 、绘制页面内容

所需要绘制的页面:

2.1 绘制页面头部内容

2.1.1设置顶部页面图片

导入相应的图片,为其设置属性,一定要给Column布局组件设置相应的高度,以及背景颜色,若不设置高度我们写的内容则不会按照我们想要的从上往下排版。

代码示例:

build() {
 
Column(){
 
Row(){
  
Image($r('app.media.gengduo')).width(20).height(40)
 
}.margin({ left:300,top:20})

}.height('100%')

.backgroundColor('#F1F2F3')

}

运行结果:

2.1.2 利用text组件输入文本内容

代码如下:

Column({ space:5}){
 
Text('闹钟').fontSize(24).fontWeight(FontWeight.Bold)
 
Text('距离下次响铃还有11小时1分钟')
}.width('100%').height(60)
.alignItems(HorizontalAlign.Start) //设置文本内容在水平方向上从左开始排列

.padding(10)

运行结果:

2.2描绘所设置的闹钟内容

2.2.1定义一个montent的类用来封装时间以及内容

代码示例:

class montent{
 
time:string
 
text:string
 
constructor( time:string,text:string) {
 
this.time=time
 
this.text=text
 
}
}

2.2.2 自定义一个Time的列表,并且在里面传入内容

代码示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值