两个图片设置完间距,图片放大动画会影响另一个图片的位置,是否有方式做到不影响

两个图片设置完间距,图片放大动画会影响另一个图片的位置,是否有方式做到不影响

HarmonyOS
2024-01-31 10:44:53
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
laomugua

用Stack容器包裹两张图片,给第二张图片设置offset,相对于Stack的位移,第一张图片放大不会影响第二张图片的位置。

示例代码

@AnimatableExtend(Image) function animatablePicSize(size: number) { 
  .width(size) // 调用系统属性接口 
} 
 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World'; 
  @State FirstWidth: number = 100 
 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
        Stack( { alignContent: Alignment.TopStart }){ 
          Image($r('app.media.app_icon')) 
            .animatablePicSize(this.FirstWidth) 
            .animation({ duration: 1000, curve: "ease" }) 
          Image($r('app.media.startIcon')) 
            .offset({ x: 120, y: 120 }) 
            .width(60) 
        } 
        .width(200) 
        .height(300) 
        .backgroundColor(Color.Pink) 
        .border({ width: 1, style: BorderStyle.Dashed }) 
        Divider() 
        Button('点击按钮缩放图片') 
          .onClick(() => { 
            this.FirstWidth = this.FirstWidth == 100 ? 60 : 100; 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-02-01 17:32:58
相关问题
使用图片压缩API参数影响
535浏览 • 1回复 待解决
想要实现一个图片裁剪功能
433浏览 • 1回复 待解决