音乐列表刷新机制优化在每次切换到音乐列表刷新一次,list高度会根据歌曲数量自适应 728/2
authorluozheng <1732036298@qq.com>
Mon, 19 Aug 2024 10:12:46 +0000 (18:12 +0800)
committerluozheng <1732036298@qq.com>
Mon, 19 Aug 2024 10:12:46 +0000 (18:12 +0800)
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp

index 7205a9f..3e2aa2c 100644 (file)
@@ -788,11 +788,7 @@ void PlayersModel::UpdateMusicPlayerList(void)
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OptionsButtonOnClick playersView nullptr err");
         return;
     }
-    if(playersView->GetMusicListList()) 
-    {
-        playersView->GetMusicListList()->RefreshList();
-        playersView->UpdateMusicListStatus();
-    }
+    playersView->UpdateMusicListStatus();
 }
 
 /*获取当前音乐是否是在播放中*/
index 0eafd36..858364f 100644 (file)
@@ -667,17 +667,7 @@ void ButtonOnClickListener::MusicListButtonOnClick()
 void ButtonOnClickListener::MusicDeleteButtonOnClick()\r
 {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ButtonOnClickListener::MusicDeleteButtonOnClick");\r
-    PlayersView *playersView = PlayersView::GetInstance();\r
-    if (playersView == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OptionsButtonOnClick playersView nullptr err");\r
-        return;\r
-    }\r
     PlayersListGroup::GetInstance()->SetUpListCase();\r
-    if(playersView->GetMusicListList()) {\r
-        playersView->GetMusicListList()->RefreshList();\r
-        playersView->UpdateMusicListStatus();\r
-    }\r
-   \r
     return;\r
 }\r
 void ButtonOnClickListener::PlayerModelButtonOnClick()\r
index 6cde8c3..204cce8 100644 (file)
@@ -327,13 +327,14 @@ namespace OHOS
                 return nullptr;\r
             }\r
             musicList->SetPosition(68, 120, 330, 320);\r
-            musicList->SetStartIndex(0);\r
+            musicList->SetStartIndex(PlayersModel::GetInstance()->GetCurrentIndex());\r
             musicList->SetThrowDrag(true);\r
             musicList->SetIntercept(true);\r
             musicList->SetMaxScrollDistance(1000);\r
             musicList->SetDragACCLevel(5);\r
             musicList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
             musicList->SetReboundSize(35);\r
+            // musicList->SetScrollBlankSize(35);\r
             // 增加表冠控制\r
             musicList->SetRotateFactor(1.0);\r
             musicList->RequestFocus();\r
@@ -344,9 +345,6 @@ namespace OHOS
         musicListScrollView->Add(musicListIsEmptyLabel);\r
         musicListScrollView->Add(musicList);\r
         musicListGroupView->Add(musicListScrollView);\r
-        /* -------------------------------------------------------------------------- */\r
-        UpdateMusicListStatus(); // 音乐列表刷新\r
-        /* -------------------------------------------------------------------------- */\r
         return musicListGroupView;\r
     }\r
 \r
@@ -878,6 +876,19 @@ namespace OHOS
                 musicListIsEmptyImage->SetVisible(false);\r
                 musicListIsEmptyLabel->SetVisible(false);\r
                 musicList->SetVisible(true);\r
+                if (musicAdapter)\r
+                {\r
+                    int count = musicAdapter->GetCount();\r
+                    if (count > 4)\r
+                    {\r
+                        musicList->SetHeight(320);\r
+                    }\r
+                    else\r
+                    {\r
+                        musicList->SetHeight(count * 70);\r
+                    }\r
+                }\r
+                musicList->RefreshList();\r
             }\r
         }\r
     }\r
@@ -1361,6 +1372,7 @@ namespace OHOS
             group[thisView] = groupview;\r
             Add(group[thisView]);\r
         }\r
+        UpdateMusicListStatus();/*每次切换到音乐列表都将更新一次列表*/\r
         return true;\r
     }\r
 \r