【ArkTS】鸿蒙开发 在用户界面点击图片实现图片旋转和图片缩小动画 您所在的位置:网站首页 鸿蒙切换音源 【ArkTS】鸿蒙开发 在用户界面点击图片实现图片旋转和图片缩小动画

【ArkTS】鸿蒙开发 在用户界面点击图片实现图片旋转和图片缩小动画

2024-06-14 06:58| 来源: 网络整理| 查看: 265

为了实现图片点击旋转、缩放、位移等功能,我主要应用了多态样式:stateStyles()属性和动画animation()属性,具体用法可以参考官网给出的说明:

stateStyles()属性: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-statestyles-0000001482592098-V2

animation()属性: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-layout-update-animation-0000001500356349-V2

对于图片实现动画效果 总结为三个步骤

1.给出图片原有状态

2.设置图片变化后状态

3.给出原状到变化后状态的动画效果(比如变化速度,延迟的变化时间)

一:设置图片原有状态和变化后状态 stateStyles()属性的参数可以参考官网指南,normal()为正常态  presses()为按压态 .stateStyles({ //变化前图片样式 normal: { .width('100%') }, //变化后图片样式(pressed为选中后变化) pressed:{ .width('50%') } }) 二:设置图片变化效果 该变化效果即简单的变化时间为1000(默认单位毫秒) .animation({ //转变时间 duration:1000 }) 三:效果展示 经过一二步骤小羊的点击变化效果如下所示

按同样方法 改变不同参数 也可以实现按压旋转效果

将两个效果结合 可以形成旋转消失的效果 

如果想松开按压后依然是消失状态,可以将normal()参数中的正常态效果移出直接给到图片下面,为了提高小路,只有normal中的状态会恢复

四、完整代码 @Entry @Component struct Index { build() { Column() { Column(){ Image($r('app.media.BSHEEP')) //状态样式 .stateStyles({ //变化前图片样式 normal: { .width('100%') }, //变化后图片样式(pressed为选中后变化) pressed:{ .width('50%') } }) //动画效果 .animation({ //转变时间 duration:1000 }) .width('100%') .border({width:5,color:'#383838'}) //圆角 .borderRadius(40) Text('我是青青草原上最骚的小黑羊') .fontColor(Color.White) .fontSize(30) .margin({ top:50,left:10 }) .lineHeight(40) .fontWeight(600) .stateStyles({ normal: { .rotate({angle:0}) .scale({x:1, y: 1}) }, pressed:{ .rotate({angle:180}) .scale({x: 0, y: 0}) } }) .animation({ duration:1000 }) Row(){ Text() { ImageSpan($r('app.media.BSHEEP')) .width(100) .borderRadius(200) Span('B-SHEEP') .fontColor(Color.White) } .stateStyles({ normal: { .rotate({angle:0}) }, pressed:{ .rotate({angle:180}) } }) .animation({ duration:1000 }) } .width('100%') .padding({top:50,left:100}) } .width(300) .height(500) .backgroundColor('#383838') .margin({top:50}) .padding(5) .shadow({radius:50,color:Color.Pink}) } .width('100%') .height('100%') .backgroundColor('#757575') } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有