From: luozheng <1732036298@qq.com> Date: Mon, 19 Aug 2024 10:12:46 +0000 (+0800) Subject: 音乐列表刷新机制优化在每次切换到音乐列表刷新一次,list高度会根据歌曲数量自适应 X-Git-Tag: release_V1.2.70_20241020_135402~630 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=refs%2Fchanges%2F728%2F2;p=mirrors%2FFD230.git 音乐列表刷新机制优化在每次切换到音乐列表刷新一次,list高度会根据歌曲数量自适应 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp index 7205a9fcc..3e2aa2c79 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp @@ -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(); } /*获取当前音乐是否是在播放中*/ diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp index 0eafd368c..858364f59 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp @@ -667,17 +667,7 @@ void ButtonOnClickListener::MusicListButtonOnClick() void ButtonOnClickListener::MusicDeleteButtonOnClick() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ButtonOnClickListener::MusicDeleteButtonOnClick"); - PlayersView *playersView = PlayersView::GetInstance(); - if (playersView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OptionsButtonOnClick playersView nullptr err"); - return; - } PlayersListGroup::GetInstance()->SetUpListCase(); - if(playersView->GetMusicListList()) { - playersView->GetMusicListList()->RefreshList(); - playersView->UpdateMusicListStatus(); - } - return; } void ButtonOnClickListener::PlayerModelButtonOnClick() diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp index 6cde8c3ad..204cce835 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp @@ -327,13 +327,14 @@ namespace OHOS return nullptr; } musicList->SetPosition(68, 120, 330, 320); - musicList->SetStartIndex(0); + musicList->SetStartIndex(PlayersModel::GetInstance()->GetCurrentIndex()); musicList->SetThrowDrag(true); musicList->SetIntercept(true); musicList->SetMaxScrollDistance(1000); musicList->SetDragACCLevel(5); musicList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/ musicList->SetReboundSize(35); + // musicList->SetScrollBlankSize(35); // 增加表冠控制 musicList->SetRotateFactor(1.0); musicList->RequestFocus(); @@ -344,9 +345,6 @@ namespace OHOS musicListScrollView->Add(musicListIsEmptyLabel); musicListScrollView->Add(musicList); musicListGroupView->Add(musicListScrollView); - /* -------------------------------------------------------------------------- */ - UpdateMusicListStatus(); // 音乐列表刷新 - /* -------------------------------------------------------------------------- */ return musicListGroupView; } @@ -878,6 +876,19 @@ namespace OHOS musicListIsEmptyImage->SetVisible(false); musicListIsEmptyLabel->SetVisible(false); musicList->SetVisible(true); + if (musicAdapter) + { + int count = musicAdapter->GetCount(); + if (count > 4) + { + musicList->SetHeight(320); + } + else + { + musicList->SetHeight(count * 70); + } + } + musicList->RefreshList(); } } } @@ -1361,6 +1372,7 @@ namespace OHOS group[thisView] = groupview; Add(group[thisView]); } + UpdateMusicListStatus();/*每次切换到音乐列表都将更新一次列表*/ return true; }