Browse Source

播放控制条播放优化

onecold 8 months ago
parent
commit
4d839d5b37
2 changed files with 19 additions and 18 deletions
  1. 13 17
      entry/src/main/ets/pages/NewIndex.ets
  2. 6 1
      entry/src/main/ets/view/LocalMusic.ets

+ 13 - 17
entry/src/main/ets/pages/NewIndex.ets

@@ -75,7 +75,7 @@ struct NewIndex {
   @Provide CONTROL_PlayStatus: number = PlayStatus.INIT;
   @Provide progressValue: number = 0;
   @State isShowPrecious: boolean = false //播控条显示上一首按钮
-  @State bottomBarHeight: number = 68;
+  @State bottomBarHeight: number = 72;
   @StorageProp('bottomSafeHeight') bottomSafeHeight: number = 0;
   @Provide cover: string | undefined = '';
   // @Provide currentSong: VideoItem | undefined = undefined;
@@ -467,16 +467,19 @@ struct NewIndex {
         Stack() {
           this.PlayController()
         }
-        .hitTestBehavior(HitTestMode.Transparent)
         .width('90%')
-        .borderRadius(20)
+        .borderRadius(17)
         .margin({ bottom:DeviceUtil.getDeviceType() === resourceManager.DeviceType.DEVICE_TYPE_2IN1
           ? 30 :this.bottomSafeHeight })
         .backgroundBlurStyle(BlurStyle.BACKGROUND_ULTRA_THICK)
         .backgroundImage( this.cover)
         .visibility(this.isMultiSelect ? Visibility.None : Visibility.Visible)
         .backgroundImageSize( {  width: '100%' })
-        .opacity(0.9)
+        .animation({
+          duration: 500,
+          curve: 'ease-in-out' // 可选动画曲线
+        })
+        .opacity(0.99)
         .clickEffect({ level: ClickEffectLevel.HEAVY })
       }
       .alignContent(Alignment.Bottom)
@@ -551,13 +554,7 @@ struct NewIndex {
     .width('100%')
     .height(this.bottomBarHeight)
     .hitTestBehavior(HitTestMode.Transparent)
-    .zIndex(1)
-    // .bindContentCover($$this.isShowPlay, this.MusicPlayBuilder(), {
-    //   modalTransition: ModalTransition.DEFAULT,
-    //   onWillDisappear: () => {
-    //     this.setShowPlayFalse()
-    //   },
-    // })
+    .zIndex(2)
     .padding({
       left: 16,
       right: 16
@@ -581,8 +578,7 @@ struct NewIndex {
           type: ShadowType.BLUR,
           color: 'on_primary'
         })
-        .geometryTransition('cover') // 绑定标识符
-        // .geometryTransition('cover', { follow: true }) // 绑定标识符
+        .geometryTransition('cover', { follow: true }) // 绑定标识符
       Column() {
         Text(this.currentSong?.name)
           .fontSize(16)
@@ -609,7 +605,7 @@ struct NewIndex {
     }
     .padding({ right: 18 })
     .layoutWeight(isLeft?1:0)
-    .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.5 })
+    .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.8 })
     .onClick(() => {
       this.getUIContext().getHostContext()!.eventHub.emit('showPlayerView');
     })
@@ -625,7 +621,7 @@ struct NewIndex {
         .fontColor([this.themeColor])
         .alignSelf(ItemAlign.Center)
         .visibility(this.isShowPrecious? Visibility.Visible:Visibility.None)
-        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.5 })
+        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.6 })
         .margin({ left: 8, right: 14 })
         .displayPriority(2)
         .onClick(() => {
@@ -661,7 +657,7 @@ struct NewIndex {
           right: 14,
           left: 14
         })
-        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.5 })
+        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.6 })
         .displayPriority(2)
         .onClick(() => {
           this.getUIContext().getHostContext()!.eventHub.emit('playNext');
@@ -671,7 +667,7 @@ struct NewIndex {
         .height(26)
         .width(26)
         .displayPriority(1)
-        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.5 })
+        .clickEffect({ level: ClickEffectLevel.MIDDLE, scale: 0.6 })
         .fillColor(this.themeColor)
         .onClick(() => {
           this.getUIContext().getHostContext()!.eventHub.emit('openPlayList');

+ 6 - 1
entry/src/main/ets/view/LocalMusic.ets

@@ -2024,6 +2024,11 @@ export struct LocalMusic {
 
     this.stopPip();
     this.destroyPipController()
+    this.getUIContext().getHostContext()!.eventHub.off('playOrPause');
+    this.getUIContext().getHostContext()!.eventHub.off('playPrevious');
+    this.getUIContext().getHostContext()!.eventHub.off('playNext');
+    this.getUIContext().getHostContext()!.eventHub.off('showPlayerView');
+    this.getUIContext().getHostContext()!.eventHub.off('openPlayList');
   }
 
   async getSortedFiles(curPath: string, isWorkerPost?: boolean, destPath?: string, isOpen?: boolean,openItem?:VideoItem) {
@@ -3197,7 +3202,7 @@ export struct LocalMusic {
           })
       }
       .bindContentCover($$this.isShowPlay, this.MusicPlayBuilder(), {
-        modalTransition: ModalTransition.ALPHA,
+        modalTransition: ModalTransition.DEFAULT,
         onWillDisappear: () => {
           this.setShowPlayFalse()
         },