Kaynağa Gözat

优化歌单也支持封面在头部的模式
修复歌单进去返回记住滚动位置

onecold 1 yıl önce
ebeveyn
işleme
946e3fd81b

+ 19 - 2
entry/src/main/ets/pages/SettingPage.ets

@@ -641,6 +641,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isScrollHide })
               Toggle({ type: ToggleType.Switch, isOn: this.isScrollHide })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isScrollHide = checked;
                   this.isScrollHide = checked;
@@ -657,7 +658,7 @@ export struct SettingPage {
 
 
             // 网格布局
             // 网格布局
             Row() {
             Row() {
-              Text('网格布局')
+              Text('网格列表模式')
                 .margin({ left: 18 })
                 .margin({ left: 18 })
                 .fontSize(15)
                 .fontSize(15)
                 .fontColor(Color.Gray)
                 .fontColor(Color.Gray)
@@ -667,6 +668,7 @@ export struct SettingPage {
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
                 .margin({ right: 18 })
                 .margin({ right: 18 })
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isGridMusic = checked;
                   this.isGridMusic = checked;
                   PreferencesUtil.put(SettingPage.IS_GRID_MUSIC, this.isGridMusic)
                   PreferencesUtil.put(SettingPage.IS_GRID_MUSIC, this.isGridMusic)
@@ -745,6 +747,7 @@ export struct SettingPage {
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
                 .margin({ right: 18 })
                 .margin({ right: 18 })
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isCoverTopBig = checked;
                   this.isCoverTopBig = checked;
                   if(this.isCoverTopBig){
                   if(this.isCoverTopBig){
@@ -773,6 +776,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isCircleBtn })
               Toggle({ type: ToggleType.Switch, isOn: this.isCircleBtn })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isCircleBtn = checked;
                   this.isCircleBtn = checked;
@@ -825,6 +829,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isStartAutoPlay })
               Toggle({ type: ToggleType.Switch, isOn: this.isStartAutoPlay })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isStartAutoPlay = checked;
                   this.isStartAutoPlay = checked;
@@ -848,6 +853,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isMemoryLastPlay })
               Toggle({ type: ToggleType.Switch, isOn: this.isMemoryLastPlay })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isMemoryLastPlay = checked;
                   this.isMemoryLastPlay = checked;
@@ -872,6 +878,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isMusicMemoryPlay })
               Toggle({ type: ToggleType.Switch, isOn: this.isMusicMemoryPlay })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isMusicMemoryPlay = checked;
                   this.isMusicMemoryPlay = checked;
@@ -927,6 +934,7 @@ export struct SettingPage {
                 .layoutWeight(1)
                 .layoutWeight(1)
               Toggle({ type: ToggleType.Switch, isOn: this.isSavePlayMode })
               Toggle({ type: ToggleType.Switch, isOn: this.isSavePlayMode })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
@@ -952,6 +960,7 @@ export struct SettingPage {
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
                 .margin({ right: 18 })
                 .margin({ right: 18 })
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isSameTimePlay = checked;
                   this.isSameTimePlay = checked;
                   PreferencesUtil.put(SettingPage.IS_SAMETIME_PLAY, this.isSameTimePlay)
                   PreferencesUtil.put(SettingPage.IS_SAMETIME_PLAY, this.isSameTimePlay)
@@ -975,6 +984,7 @@ export struct SettingPage {
               Toggle({ type: ToggleType.Switch, isOn: this.isMusicBGCover })
               Toggle({ type: ToggleType.Switch, isOn: this.isMusicBGCover })
                 .selectedColor(this.themeColor)
                 .selectedColor(this.themeColor)
                 .switchPointColor(Color.White)
                 .switchPointColor(Color.White)
+                .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                 .margin({ right: 18 })
                 .margin({ right: 18 })
                 .onChange((checked: boolean) => {
                 .onChange((checked: boolean) => {
                   this.isMusicBGCover = checked;
                   this.isMusicBGCover = checked;
@@ -1061,6 +1071,7 @@ export struct SettingPage {
           .layoutWeight(1)
           .layoutWeight(1)
         Toggle({ type: ToggleType.Switch, isOn: this.isShowTitleBar })
         Toggle({ type: ToggleType.Switch, isOn: this.isShowTitleBar })
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
@@ -1087,6 +1098,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowAllBar = checked;
             this.isShowAllBar = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_ALLBAR, this.isShowAllBar)
             PreferencesUtil.put(SettingPage.IS_SHOW_ALLBAR, this.isShowAllBar)
@@ -1111,6 +1123,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowSimi = checked;
             this.isShowSimi = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_SIMI, this.isShowSimi)
             PreferencesUtil.put(SettingPage.IS_SHOW_SIMI, this.isShowSimi)
@@ -1135,6 +1148,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowSingleLineLyric = checked;
             this.isShowSingleLineLyric = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_SLLYRIC, this.isShowSingleLineLyric)
             PreferencesUtil.put(SettingPage.IS_SHOW_SLLYRIC, this.isShowSingleLineLyric)
@@ -1159,6 +1173,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowPlayPageBack = checked;
             this.isShowPlayPageBack = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_PLAYPAGE_BACK, this.isShowPlayPageBack)
             PreferencesUtil.put(SettingPage.IS_SHOW_PLAYPAGE_BACK, this.isShowPlayPageBack)
@@ -1183,6 +1198,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowFAV = checked;
             this.isShowFAV = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_FAV, this.isShowFAV)
             PreferencesUtil.put(SettingPage.IS_SHOW_FAV, this.isShowFAV)
@@ -1207,6 +1223,7 @@ export struct SettingPage {
           .selectedColor(this.themeColor)
           .selectedColor(this.themeColor)
           .switchPointColor(Color.White)
           .switchPointColor(Color.White)
           .margin({ right: 18 })
           .margin({ right: 18 })
+          .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
           .onChange((checked: boolean) => {
           .onChange((checked: boolean) => {
             this.isShowHistory = checked;
             this.isShowHistory = checked;
             PreferencesUtil.put(SettingPage.IS_SHOW_HISTORY, this.isShowHistory)
             PreferencesUtil.put(SettingPage.IS_SHOW_HISTORY, this.isShowHistory)
@@ -1469,7 +1486,7 @@ export struct SettingPage {
           Toggle({ type: ToggleType.Switch, isOn: this.isCustomizeBg })
           Toggle({ type: ToggleType.Switch, isOn: this.isCustomizeBg })
             .selectedColor(this.themeColor)
             .selectedColor(this.themeColor)
             .switchPointColor(Color.White)
             .switchPointColor(Color.White)
-            .clickEffect({ level: ClickEffectLevel.HEAVY })
+            .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
             .margin({ right: 18 })
             .margin({ right: 18 })
             .onChange((checked: boolean) => {
             .onChange((checked: boolean) => {
               this.isCustomizeBg = checked;
               this.isCustomizeBg = checked;

+ 4 - 0
entry/src/main/ets/pages/UserCenter.ets

@@ -526,6 +526,7 @@ export struct UserCenter {
               .height(36)
               .height(36)
               .padding({ left:20,right:20,top:10,bottom:10 })
               .padding({ left:20,right:20,top:10,bottom:10 })
               .fontSize(13)
               .fontSize(13)
+              .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
               .borderRadius(13)
               .borderRadius(13)
               .margin({ left: 0 })
               .margin({ left: 0 })
               .onClick(() => {
               .onClick(() => {
@@ -553,6 +554,7 @@ export struct UserCenter {
 
 
             Button('登录')
             Button('登录')
               .fontColor(Color.White)
               .fontColor(Color.White)
+              .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
               .backgroundColor(this.isDarkMode ? $r('app.color.title_bar_bg') : this.themeColor)
               .backgroundColor(this.isDarkMode ? $r('app.color.title_bar_bg') : this.themeColor)
               .height(36)
               .height(36)
               .padding({ left:20,right:20,top:10,bottom:10 })
               .padding({ left:20,right:20,top:10,bottom:10 })
@@ -690,6 +692,7 @@ export struct UserCenter {
             .width('100%')
             .width('100%')
             .height(145)
             .height(145)
           }
           }
+
         })
         })
       }
       }
       .columnsTemplate('1fr 1fr')
       .columnsTemplate('1fr 1fr')
@@ -887,6 +890,7 @@ export struct UserCenter {
         .fontColor(Color.White)
         .fontColor(Color.White)
         .fontSize(18)
         .fontSize(18)
         .padding(12)
         .padding(12)
+        .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
         .fontWeight(FontWeight.Bold)
         .fontWeight(FontWeight.Bold)
         .margin({ top: 1, bottom: 15 })
         .margin({ top: 1, bottom: 15 })
         .alignSelf(ItemAlign.Center)
         .alignSelf(ItemAlign.Center)

+ 59 - 12
entry/src/main/ets/view/LocalMusic.ets

@@ -369,7 +369,7 @@ export struct LocalMusic {
       this.showPupDialog()
       this.showPupDialog()
     })
     })
     .setOnLeftClickListener(() => {
     .setOnLeftClickListener(() => {
-      this.doSwipBack()
+        this.doSwipBack()
     })
     })
 
 
   doSwipBack() {
   doSwipBack() {
@@ -414,10 +414,24 @@ export struct LocalMusic {
       })
       })
       return
       return
     }
     }
+    //返回上一级歌单的滚动位置
+    setTimeout(() => {
+      if(this.modeType ==0){
+        if (this.isGridMusic) {
+          let lastOffset = this.mScrollMap.get('lastGridDirScrollOffset') ?? 0
+          this.scroller.scrollTo({ xOffset: 0, yOffset: lastOffset })
+        } else {
+          let lastOffset = this.mScrollMap.get('lastListDirScrollOffset') ?? 0
+          this.listScroller.scrollTo({ xOffset: 0, yOffset: lastOffset })
+        }
+      }
+    }, 300)
+
 
 
     this.currentPath = Utility.getParentDirectory(this.currentPath)
     this.currentPath = Utility.getParentDirectory(this.currentPath)
     Logger.info('this.currentPath2 = ' + this.currentPath)
     Logger.info('this.currentPath2 = ' + this.currentPath)
     this.getSortedFiles(this.currentPath)
     this.getSortedFiles(this.currentPath)
+
   }
   }
 
 
   // 组件生命周期
   // 组件生命周期
@@ -444,7 +458,9 @@ export struct LocalMusic {
     // 监听广播事件(打开其他应用处理)
     // 监听广播事件(打开其他应用处理)
     emitter.on(eventUpdateSwipeBack, (eventData: emitter.EventData) => {
     emitter.on(eventUpdateSwipeBack, (eventData: emitter.EventData) => {
 
 
-      this.doSwipBack()
+      animateTo({ duration: 555 }, () => {
+        this.doSwipBack()
+      })
 
 
     });
     });
 
 
@@ -2013,12 +2029,14 @@ export struct LocalMusic {
                 }
                 }
                 .height(100)
                 .height(100)
                 .position({top:300})
                 .position({top:300})
+                .transition(TransitionEffect.asymmetric(TransitionEffect.scale({ x: 1.2, y: 1.2 }).animation({ duration: 500 }),
+                  TransitionEffect.scale({ x: 0, y: 0 })  ))
                 .justifyContent(FlexAlign.Center)
                 .justifyContent(FlexAlign.Center)
                 .opacity(this.isZero ? 1 : 0)
                 .opacity(this.isZero ? 1 : 0)
                 .visibility(this.isZero&&!this.isFavMusic&&!this.isHistory
                 .visibility(this.isZero&&!this.isFavMusic&&!this.isHistory
                   && this.modeType === 0 ? Visibility.Visible : Visibility.None)
                   && this.modeType === 0 ? Visibility.Visible : Visibility.None)
                 .animation({
                 .animation({
-                  duration: 666,
+                  duration: 500,
                   curve: 'ease-in-out' // 可选动画曲线
                   curve: 'ease-in-out' // 可选动画曲线
                 })
                 })
                 .width('100%')
                 .width('100%')
@@ -2660,11 +2678,11 @@ export struct LocalMusic {
   @State currentTitleCover:string|ResourceStr = ''//点击歌单,艺术家,专辑进去后的封面
   @State currentTitleCover:string|ResourceStr = ''//点击歌单,艺术家,专辑进去后的封面
 
 
   isShowCoverTitle(){
   isShowCoverTitle(){
-    if(this.modeType==0){
+    if(this.modeType==0&&!this.isGridMusic){
       if(this.isHistory||this.isFavMusic){
       if(this.isHistory||this.isFavMusic){
         return true
         return true
       }
       }
-      if (this.currentPath != this.rootPath&&!this.isGridMusic ) {
+      if (this.currentPath != this.rootPath) {
         return true
         return true
       }
       }
     }
     }
@@ -2695,7 +2713,7 @@ export struct LocalMusic {
                 })
                 })
               })
               })
             Blank().flexGrow(1)
             Blank().flexGrow(1)
-            if(this.modeType==0){
+            if(this.modeType==0&&!this.isHistory&&!this.isFavMusic){
               Image($r('app.media.add'))
               Image($r('app.media.add'))
                 .width(25)
                 .width(25)
                 .height(25)
                 .height(25)
@@ -2734,7 +2752,7 @@ export struct LocalMusic {
                 .fontSize(16)
                 .fontSize(16)
                 .maxLines(1)
                 .maxLines(1)
                 .fontWeight(FontWeight.Bold)
                 .fontWeight(FontWeight.Bold)
-                .fontColor(Color.White)
+                .fontColor($r('app.color.text_color'))
                 .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
                 .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
               if(this.modeType==3&&ArrayUtil.isNotEmpty(this.videoLocalList)){
               if(this.modeType==3&&ArrayUtil.isNotEmpty(this.videoLocalList)){
                 Text(`艺术家:${this.videoLocalList[0].artist}`)
                 Text(`艺术家:${this.videoLocalList[0].artist}`)
@@ -2742,7 +2760,7 @@ export struct LocalMusic {
                   .padding({ top: 8 })
                   .padding({ top: 8 })
                   .maxLines(1)
                   .maxLines(1)
                   .fontWeight(FontWeight.Bold)
                   .fontWeight(FontWeight.Bold)
-                  .fontColor(Color.White)
+                  .fontColor($r('app.color.text_color'))
                   .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
                   .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
               }
               }
               Row() {
               Row() {
@@ -2750,7 +2768,7 @@ export struct LocalMusic {
                   .fontSize(13)
                   .fontSize(13)
                   .fontWeight(FontWeight.Bold)
                   .fontWeight(FontWeight.Bold)
                   .padding({ top: 8 })
                   .padding({ top: 8 })
-                  .fontColor(Color.White)
+                  .fontColor($r('app.color.text_color'))
                   .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
                   .margin({ left: this.currentLyricAlignMode === 0 ? 18 : 0 })
                 Blank()
                 Blank()
 
 
@@ -3858,8 +3876,10 @@ export struct LocalMusic {
       :(this.isShowCoverTitle()? 70:166) })
       :(this.isShowCoverTitle()? 70:166) })
     .cachedCount(6)
     .cachedCount(6)
     .borderRadius(20)
     .borderRadius(20)
-    .transition(TransitionEffect.move(TransitionEdge.BOTTOM)
-      .animation({ duration: 500, curve: Curve.Ease }))
+    .transition(TransitionEffect.asymmetric(TransitionEffect.scale({ x: 1.2, y: 1.2 }).animation({ duration: 500 }),
+      TransitionEffect.scale({ x: 0, y: 0 })  ))
+    // .transition(TransitionEffect.move(TransitionEdge.BOTTOM)
+    //   .animation({ duration: 500, curve: Curve.Ease }))
     .layoutWeight(1)
     .layoutWeight(1)
     .onScrollIndex((start) => {
     .onScrollIndex((start) => {
       this.selectedIndex = start
       this.selectedIndex = start
@@ -3991,6 +4011,26 @@ export struct LocalMusic {
   private doPlay(item: VideoItem, index?: number, isFromSonPlayList?: boolean) {
   private doPlay(item: VideoItem, index?: number, isFromSonPlayList?: boolean) {
     switch (item.type) {
     switch (item.type) {
       case CommonConstants.TYPE_IS_DIR:
       case CommonConstants.TYPE_IS_DIR:
+        // 进入歌单前安全保存当前滚动偏移量,支持列表和网格
+        let offsetB = 0
+        if (this.isGridMusic) {
+          if (this.scroller && typeof this.scroller.currentOffset === 'function') {
+            let cur = this.scroller.currentOffset()
+            if (cur && typeof cur.yOffset === 'number') {
+              offsetB = cur.yOffset
+            }
+          }
+          this.mScrollMap.set('lastGridDirScrollOffset', offsetB)
+        } else {
+          if (this.listScroller && typeof this.listScroller.currentOffset === 'function') {
+            let cur = this.listScroller.currentOffset()
+            if (cur && typeof cur.yOffset === 'number') {
+              offsetB = cur.yOffset
+            }
+          }
+          this.mScrollMap.set('lastListDirScrollOffset', offsetB)
+        }
+
         if (item.name === LocalMusic.STR_LOCK_VIDEO) {
         if (item.name === LocalMusic.STR_LOCK_VIDEO) {
           this.showVerifyDialog()
           this.showVerifyDialog()
           this.currentTitleName = '私密音频'
           this.currentTitleName = '私密音频'
@@ -4921,6 +4961,7 @@ export struct LocalMusic {
       .width('100%')
       .width('100%')
       .padding(16)
       .padding(16)
     }
     }
+    .margin({bottom:18})
   }
   }
 
 
   // 获取显示文本
   // 获取显示文本
@@ -6873,6 +6914,7 @@ export struct LocalMusic {
             Toggle({ type: ToggleType.Switch, isOn: this.isOpenPip })
             Toggle({ type: ToggleType.Switch, isOn: this.isOpenPip })
               .selectedColor(this.themeColor)
               .selectedColor(this.themeColor)
               .switchPointColor(Color.White)
               .switchPointColor(Color.White)
+              .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
               .margin({ right: 18 })
               .margin({ right: 18 })
               .onChange((checked: boolean) => {
               .onChange((checked: boolean) => {
                 this.isOpenPip = checked;
                 this.isOpenPip = checked;
@@ -7014,6 +7056,7 @@ export struct LocalMusic {
             Toggle({ type: ToggleType.Switch, isOn: this.isHightLightCenter })
             Toggle({ type: ToggleType.Switch, isOn: this.isHightLightCenter })
               .selectedColor(this.themeColor)
               .selectedColor(this.themeColor)
               .switchPointColor(Color.White)
               .switchPointColor(Color.White)
+              .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
               .onChange((checked: boolean) => {
               .onChange((checked: boolean) => {
                 this.isHightLightCenter = checked;
                 this.isHightLightCenter = checked;
                 PreferencesUtil.put(SettingPage.IS_SHOW_SIMI, this.isHightLightCenter)
                 PreferencesUtil.put(SettingPage.IS_SHOW_SIMI, this.isHightLightCenter)
@@ -7772,7 +7815,7 @@ export struct LocalMusic {
                   .fontSize(16)
                   .fontSize(16)
                   .fontColor(Color.White)
                   .fontColor(Color.White)
                   .bindSheet($$this.isShowDetailMore, this.detailSheet(), {
                   .bindSheet($$this.isShowDetailMore, this.detailSheet(), {
-                    height: this.isCoverOpacity() ? '95%' : '65%',
+                    height: this.isCoverOpacity() ? '95%' : '75%',
                     dragBar: true,
                     dragBar: true,
                     preferType: this.currentBreakpoint!==BreakpointTypeEnum.SM?SheetType.CENTER:SheetType.BOTTOM,
                     preferType: this.currentBreakpoint!==BreakpointTypeEnum.SM?SheetType.CENTER:SheetType.BOTTOM,
                     showClose: true,
                     showClose: true,
@@ -7936,6 +7979,7 @@ export struct LocalMusic {
                   .selectedColor(this.themeColor)
                   .selectedColor(this.themeColor)
                   .switchPointColor(Color.White)
                   .switchPointColor(Color.White)
                   .margin({ right: 15 })
                   .margin({ right: 15 })
+                  .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                   .visibility(more.id == 6 ? Visibility.Visible : Visibility.None)
                   .visibility(more.id == 6 ? Visibility.Visible : Visibility.None)
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
                     if (more.id == 6) {
                     if (more.id == 6) {
@@ -7954,6 +7998,7 @@ export struct LocalMusic {
                 Toggle({ type: ToggleType.Switch, isOn: this.isMusicBGCover })
                 Toggle({ type: ToggleType.Switch, isOn: this.isMusicBGCover })
                   .selectedColor(this.themeColor)
                   .selectedColor(this.themeColor)
                   .switchPointColor(Color.White)
                   .switchPointColor(Color.White)
+                  .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                   .margin({ right: 15 })
                   .margin({ right: 15 })
                   .visibility(more.id == 7 ? Visibility.Visible : Visibility.None)
                   .visibility(more.id == 7 ? Visibility.Visible : Visibility.None)
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
@@ -7974,6 +8019,7 @@ export struct LocalMusic {
                 Toggle({ type: ToggleType.Switch, isOn: this.isSavePlayMode })
                 Toggle({ type: ToggleType.Switch, isOn: this.isSavePlayMode })
                   .selectedColor(this.themeColor)
                   .selectedColor(this.themeColor)
                   .switchPointColor(Color.White)
                   .switchPointColor(Color.White)
+                  .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                   .margin({ right: 15 })
                   .margin({ right: 15 })
                   .visibility(more.id == 8 ? Visibility.Visible : Visibility.None)
                   .visibility(more.id == 8 ? Visibility.Visible : Visibility.None)
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
@@ -7994,6 +8040,7 @@ export struct LocalMusic {
                 Toggle({ type: ToggleType.Switch, isOn: this.isCoverRectangle })
                 Toggle({ type: ToggleType.Switch, isOn: this.isCoverRectangle })
                   .selectedColor(this.themeColor)
                   .selectedColor(this.themeColor)
                   .switchPointColor(Color.White)
                   .switchPointColor(Color.White)
+                  .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.5})
                   .margin({ right: 15 })
                   .margin({ right: 15 })
                   .visibility(more.id == 13 ? Visibility.Visible : Visibility.None)
                   .visibility(more.id == 13 ? Visibility.Visible : Visibility.None)
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件
                   .onChange((checked: boolean) => { // 选择开关状态变化时触发事件