|
@@ -153,7 +153,13 @@ export struct NavidromePage {
|
|
|
onTabSelectedIndexesChanged() {
|
|
onTabSelectedIndexesChanged() {
|
|
|
this.selectedTab = this.tabSelectedIndexes[0];
|
|
this.selectedTab = this.tabSelectedIndexes[0];
|
|
|
console.info('heanup', `Selected tab: ${this.tabs[this.selectedTab]}`);
|
|
console.info('heanup', `Selected tab: ${this.tabs[this.selectedTab]}`);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 如果在详情视图模式下切换标签页,退出详情视图并清除筛选
|
|
|
|
|
+ if (this.isDetailView) {
|
|
|
|
|
+ this.isDetailView = false;
|
|
|
|
|
+ this.clearFilter();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 从艺术家或专辑切换回全部时,清除筛选状态
|
|
// 从艺术家或专辑切换回全部时,清除筛选状态
|
|
|
if (this.selectedTab === 0 && this.filterType !== NavFilterType.None) {
|
|
if (this.selectedTab === 0 && this.filterType !== NavFilterType.None) {
|
|
|
// 不清除筛选,保持筛选状态
|
|
// 不清除筛选,保持筛选状态
|
|
@@ -1134,6 +1140,10 @@ export struct NavidromePage {
|
|
|
.fillColor(song.pixelMapPath ? undefined : this.themeColor)
|
|
.fillColor(song.pixelMapPath ? undefined : this.themeColor)
|
|
|
.objectFit(ImageFit.Cover)
|
|
.objectFit(ImageFit.Cover)
|
|
|
.margin({ left: 20 })
|
|
.margin({ left: 20 })
|
|
|
|
|
+ .animation({
|
|
|
|
|
+ duration: 500,
|
|
|
|
|
+ curve: Curve.Friction // 可选动画曲线
|
|
|
|
|
+ })
|
|
|
.shadow({
|
|
.shadow({
|
|
|
radius: StrUtil.isEmpty(song.pixelMapPath) ?6:14,
|
|
radius: StrUtil.isEmpty(song.pixelMapPath) ?6:14,
|
|
|
type: ShadowType.BLUR,
|
|
type: ShadowType.BLUR,
|
|
@@ -1527,21 +1537,7 @@ export struct NavidromePage {
|
|
|
.padding({top:this.topSafeHeight+98})
|
|
.padding({top:this.topSafeHeight+98})
|
|
|
.justifyContent(FlexAlign.Center)
|
|
.justifyContent(FlexAlign.Center)
|
|
|
} else {
|
|
} else {
|
|
|
- if (this.selectedTab === 0 && this.filterType !== NavFilterType.None) {
|
|
|
|
|
- Row({ space: 8 }) {
|
|
|
|
|
- Text(`筛选:${this.filterLabel}`)
|
|
|
|
|
- .fontSize(13)
|
|
|
|
|
- .fontColor(this.themeColor)
|
|
|
|
|
- .layoutWeight(1)
|
|
|
|
|
- Button('返回')
|
|
|
|
|
- .type(ButtonType.Capsule)
|
|
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
|
|
- .fontSize(11)
|
|
|
|
|
- .onClick(() => this.clearFilter())
|
|
|
|
|
- }
|
|
|
|
|
- .width('90%')
|
|
|
|
|
- .padding({ left: 16, right: 16, top: this.topSafeHeight+118, bottom: 2 })
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
if (this.isSearchMode && this.selectedTab === 0 && this.searchText.length > 0 && this.isSearchLoading) {
|
|
if (this.isSearchMode && this.selectedTab === 0 && this.searchText.length > 0 && this.isSearchLoading) {
|
|
|
Column() {
|
|
Column() {
|