diff --git a/features/home/src/main/ets/view/BannerView.ets b/features/home/src/main/ets/view/BannerView.ets index 2fce5e9259888b7bc6dcb5b9bf3800d822375b05..970a7a89060295cc40add7882e4b3cfa9fe276a4 100644 --- a/features/home/src/main/ets/view/BannerView.ets +++ b/features/home/src/main/ets/view/BannerView.ets @@ -58,10 +58,13 @@ export struct BannerView { // Banner layout. Row() { // [Start bannerView] + // [Start swiper1] Swiper() { // [StartExclude bannerView] LazyForEach(this.bannerDataSource, (item: Banner, index: number) => { + // [StartExclude swiper1] Stack() { + // [EndExclude swiper1] Image(this.currentWidthBreakpoint === BreakpointConstants.BREAKPOINT_SM ? item.getBannerImg().getImgSrcSm() : item.getBannerImg().getImgSrc()) .objectFit(ImageFit.Fill) @@ -70,7 +73,7 @@ export struct BannerView { .width(CommonConstants.FULL_PERCENT) .focusable(true) .zIndex(1) - + // [StartExclude swiper1] Column() { Text(item.getDescription().getIsLeftCenter().getValue(this.currentWidthBreakpoint) ? `${item.getDescription().getDescription()[0]}${item.getDescription().getDescription()[1]}` : @@ -130,9 +133,11 @@ export struct BannerView { left: this.currentWidthBreakpoint === BreakpointConstants.BREAKPOINT_SM ? $r('app.float.banner_padding_sm') : 0, right: this.currentWidthBreakpoint === BreakpointConstants.BREAKPOINT_SM ? $r('app.float.banner_padding_sm') : 0 }) + // [EndExclude swiper1] }, (item: Banner, index: number) => index + JSON.stringify(item)) // [EndExclude bannerView] } + // [End swiper1] .displayCount(this.currentWidthBreakpoint === BreakpointConstants.BREAKPOINT_SM ? 1 : HomeConstants.TWO) // Interval between banner images .itemSpace(HomeConstants.SWIPER_ITEM_SPACE) @@ -160,8 +165,9 @@ export struct BannerView { .effectMode(EdgeEffect.None) // The sizes of the front and rear banners on the MD and LG devices are different. .index(2) + // [Start swiper1] .tabIndex(getTabIndex(HomeConstants.DIRECTION_LIST[2])) - + // [End swiper1] // Switch the tab to switch the banner display effect. Row({ space: HomeConstants.BANNER_ROW_SPACE }) { BannerText({ @@ -308,11 +314,14 @@ struct BannerText { build() { Stack() { + // [Start fill] Image(((this.index === 0) || (this.index === 1)) ? this.banner.getBannerImg().getImgSrcSm() : this.banner.getBannerImg().getImgSrc()) .width(CommonConstants.FULL_PERCENT) .height(CommonConstants.FULL_PERCENT) .objectFit(ImageFit.Fill) + .hoverEffect(HoverEffect.Scale) + // [Start fill] .borderRadius($r('app.float.banner_img_border_radius')) Column() { diff --git a/features/home/src/main/ets/view/RecommendedVideo.ets b/features/home/src/main/ets/view/RecommendedVideo.ets index bca7aa4d93b3270b0fe1763348067319ead71d1a..8d7264a130133a5e677b15c508aad92a251f7400 100644 --- a/features/home/src/main/ets/view/RecommendedVideo.ets +++ b/features/home/src/main/ets/view/RecommendedVideo.ets @@ -37,7 +37,9 @@ export struct RecommendedVideo { build() { // Video grid layout. // [Start RecommendedVideo] + // [Start grid1] Grid() { + // [StartExclude grid1] ForEach(this.videoImgList, (item: VideoImage, index: number) => { GridItem() { Column() { @@ -134,7 +136,9 @@ export struct RecommendedVideo { .alignItems(HorizontalAlign.Start) } }, (item: VideoImage, index: number) => index + JSON.stringify(item)) + // [EndExclude grid1] } + // [End grid1] // [StartExclude RecommendedVideo] .tabIndex(getTabIndex(HomeConstants.DIRECTION_LIST[4])) .editMode(false) @@ -160,6 +164,7 @@ export struct RecommendedVideo { bottom: $r('app.float.recommended_video_padding_bottom') }) // Zooming and pinching functions of the grid. + // [Start grid1] .gesture(PinchGesture({ fingers: 2 }).onActionUpdate((event: GestureEvent) => { if (event.scale > 1 && this.currentWidthBreakpoint !== BreakpointConstants.BREAKPOINT_SM) { if (this.currentWidthBreakpoint === BreakpointConstants.BREAKPOINT_MD) { @@ -193,6 +198,7 @@ export struct RecommendedVideo { Logger.info(`Two-finger operation is not supported`); } })) + // [End grid1] } getGridHeight(videoGridColumn: string, currentWidthBreakpoint: string, windowWidth: number): string { diff --git a/features/videoDetail/src/main/ets/view/VideoDetail.ets b/features/videoDetail/src/main/ets/view/VideoDetail.ets index a5db64fed2ee1d9a71b3adeedc05cc6ea7403ac8..b0424c092e8c4deae94c97d2096ea713fd1484e0 100644 --- a/features/videoDetail/src/main/ets/view/VideoDetail.ets +++ b/features/videoDetail/src/main/ets/view/VideoDetail.ets @@ -251,22 +251,29 @@ export struct VideoDetail { } } }) + // [Start key_event] .onKeyEvent((event?: KeyEvent) => { + //If the key type is pressed, the subsequent code will not be executed, and the specific key logic will be executed when released. if (!event || event.type !== KeyType.Down) { return; } + // Space key controls pause/play. if (event.keyCode === KeyCode.KEYCODE_SPACE) { this.avPlayerUtil!.playerStateControl(); } + //press ESC to exit full screen. if (event.keyCode === KeyCode.KEYCODE_ESCAPE) { this.windowUtil!.recover(); } + //Right-click fast forward if (event.keyCode === KeyCode.KEYCODE_DPAD_RIGHT) { this.avPlayerUtil!.fastForward(); } + //Left click to go back quickly if (event.keyCode === KeyCode.KEYCODE_DPAD_LEFT) { this.avPlayerUtil!.rewind(); } }) + // [End key_event] } } \ No newline at end of file