From b5940aecc31e899c521c513607e0d39423fe2022 Mon Sep 17 00:00:00 2001 From: acite <1498045907@qq.com> Date: Wed, 27 Aug 2025 03:56:26 +0800 Subject: [PATCH] [feat] Beautify the interface, title bar in full screen mode --- .../com/acitelight/aether/view/VideoPlayer.kt | 59 +++++++++++++++---- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/acitelight/aether/view/VideoPlayer.kt b/app/src/main/java/com/acitelight/aether/view/VideoPlayer.kt index 0612026..6ff29a0 100644 --- a/app/src/main/java/com/acitelight/aether/view/VideoPlayer.kt +++ b/app/src/main/java/com/acitelight/aether/view/VideoPlayer.kt @@ -488,7 +488,13 @@ fun PortalCorePlayer(modifier: Modifier, videoPlayerViewModel: VideoPlayerViewMo modifier = Modifier .fillMaxWidth() .padding(horizontal = 2.dp) - .align(Alignment.BottomCenter), + .align(Alignment.BottomCenter).background( + brush = Brush.verticalGradient( + colors = listOf( + Color.Transparent, + Color.Black.copy(alpha = 0.4f), + ) + )), horizontalArrangement = Arrangement.SpaceBetween, ) { IconButton( @@ -1058,21 +1064,50 @@ fun VideoPlayerLandscape(videoPlayerViewModel: VideoPlayerViewModel) } } - IconButton( - onClick = { - activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT - }, + AnimatedVisibility( + visible = videoPlayerViewModel.planeVisibility, + enter = slideInVertically(initialOffsetY = { fullHeight -> -fullHeight }), + exit = slideOutVertically(targetOffsetY = { fullHeight -> -fullHeight }), modifier = Modifier + .align(Alignment.TopCenter) + .fillMaxWidth() + ) + { + Row(Modifier .align(Alignment.TopStart) - .padding(8.dp) - ) { - Icon( - imageVector = Icons.AutoMirrored.Filled.ArrowBack, - contentDescription = "Back", - tint = Color.White - ) + .padding(horizontal = 32.dp).background( + brush = Brush.verticalGradient( + colors = listOf( + Color.Black.copy(alpha = 0.4f), + Color.Transparent, + ) + ))) + { + IconButton( + onClick = { + activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT + }, + modifier = Modifier.size(36.dp).align(Alignment.CenterVertically) + ) { + Icon( + modifier = Modifier.size(36.dp), + imageVector = Icons.AutoMirrored.Filled.ArrowBack, + contentDescription = "Back", + tint = Color.White + ) + } + + Text( + text = "${videoPlayerViewModel.video?.video?.name}", + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(horizontal = 12.dp).align(Alignment.CenterVertically), + fontSize = 18.sp + ) + } } + + AnimatedVisibility( visible = videoPlayerViewModel.planeVisibility, enter = slideInVertically(initialOffsetY = { fullHeight -> fullHeight }),