Refactor(Icon): Update APP icon and add startup animation

This commit is contained in:
2024-09-24 17:55:14 +08:00
parent 7e5554cfcd
commit 112e30804e
45 changed files with 69 additions and 577 deletions

View File

@@ -1,5 +1,10 @@
package top.fatweb.oxygen.toolbox.ui.about
import androidx.compose.animation.core.AnimationConstants
import androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi
import androidx.compose.animation.graphics.res.animatedVectorResource
import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter
import androidx.compose.animation.graphics.vector.AnimatedImageVector
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -13,6 +18,7 @@ import androidx.compose.foundation.layout.only
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.safeDrawingPadding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
@@ -23,16 +29,20 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.delay
import top.fatweb.oxygen.toolbox.R
import top.fatweb.oxygen.toolbox.icon.OxygenIcons
import top.fatweb.oxygen.toolbox.ui.component.OxygenTopAppBar
@@ -106,16 +116,26 @@ internal fun AboutScreen(
}
}
@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable
private fun AboutAppInfo(
modifier: Modifier = Modifier
) {
val logo = AnimatedImageVector.animatedVectorResource(R.drawable.ic_launcher)
var atEnd by remember { mutableStateOf(false) }
LaunchedEffect(Unit) {
delay(AnimationConstants.DefaultDurationMillis.toLong())
atEnd = true
}
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally
) {
Image(
imageVector = ImageVector.vectorResource(R.drawable.ic_oxygen),
modifier = Modifier
.width(160.dp),
painter = rememberAnimatedVectorPainter(animatedImageVector = logo, atEnd = atEnd),
contentDescription = stringResource(R.string.app_full_name)
)
Spacer(Modifier.height(16.dp))