UI fixes for TopAppBar (#377)

This commit is contained in:
junkfood 2023-04-04 10:35:05 +08:00 committed by GitHub
parent d75b7bf785
commit 9b332fe345
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 53 deletions

View File

@ -30,30 +30,20 @@ fun RYScaffold(
topBarTonalElevation, topBarTonalElevation,
color = containerColor color = containerColor
) )
) ),
.statusBarsPadding(),
// .run {
// if (bottomBar != null || floatingActionButton != null) {
// navigationBarsPadding()
// } else {
// this
// }
// },
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation( containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(
containerTonalElevation, containerTonalElevation,
color = containerColor color = containerColor
) onDark MaterialTheme.colorScheme.surface, ) onDark MaterialTheme.colorScheme.surface,
topBar = { topBar = {
if (navigationIcon != null || actions != null) { if (navigationIcon != null || actions != null) {
SmallTopAppBar( TopAppBar(
title = {}, title = {},
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(
topBarTonalElevation, color = containerColor
),
),
navigationIcon = { navigationIcon?.invoke() }, navigationIcon = { navigationIcon?.invoke() },
actions = { actions?.invoke(this) }, actions = { actions?.invoke(this) },
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Transparent,
)
) )
} }
}, },

View File

@ -37,14 +37,6 @@ fun Content(
LazyColumn( LazyColumn(
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.statusBarsPadding()
.run {
if (isShowToolBar) {
navigationBarsPadding()
} else {
this
}
}
.drawVerticalScrollbar(listState), .drawVerticalScrollbar(listState),
state = listState, state = listState,
) { ) {

View File

@ -2,20 +2,21 @@ package me.ash.reader.ui.page.home.reading
import RYExtensibleVisibility import RYExtensibleVisibility
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Palette import androidx.compose.material.icons.outlined.Palette
import androidx.compose.material.icons.outlined.Share import androidx.compose.material.icons.outlined.Share
import androidx.compose.material.icons.rounded.Close import androidx.compose.material.icons.rounded.Close
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SmallTopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -25,7 +26,6 @@ import me.ash.reader.R
import me.ash.reader.data.model.preference.LocalReadingPageTonalElevation import me.ash.reader.data.model.preference.LocalReadingPageTonalElevation
import me.ash.reader.ui.component.base.FeedbackIconButton import me.ash.reader.ui.component.base.FeedbackIconButton
import me.ash.reader.ui.ext.share import me.ash.reader.ui.ext.share
import me.ash.reader.ui.ext.surfaceColorAtElevation
import me.ash.reader.ui.page.common.RouteName import me.ash.reader.ui.page.common.RouteName
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@ -47,14 +47,10 @@ fun TopBar(
contentAlignment = Alignment.TopCenter contentAlignment = Alignment.TopCenter
) { ) {
RYExtensibleVisibility(visible = isShow) { RYExtensibleVisibility(visible = isShow) {
SmallTopAppBar( TopAppBar(
modifier = Modifier.statusBarsPadding(),
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(
elevation = tonalElevation.value.dp
),
),
title = {}, title = {},
modifier = Modifier,
windowInsets = WindowInsets(0.dp),
navigationIcon = { navigationIcon = {
FeedbackIconButton( FeedbackIconButton(
imageVector = Icons.Rounded.Close, imageVector = Icons.Rounded.Close,
@ -86,7 +82,9 @@ fun TopBar(
?.let { it + "\n" } + link ?.let { it + "\n" } + link
) )
} }
} }, colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Transparent,
)
) )
} }
} }

View File

@ -12,10 +12,11 @@ import androidx.compose.material.icons.rounded.ArrowBack
import androidx.compose.material.icons.rounded.Refresh import androidx.compose.material.icons.rounded.Refresh
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SmallTopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -67,13 +68,8 @@ fun FeedsPagePreview(
shape = RoundedCornerShape(24.dp) shape = RoundedCornerShape(24.dp)
) )
) { ) {
SmallTopAppBar( TopAppBar(
title = {}, title = {},
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(
topBarTonalElevation.value.dp
),
),
navigationIcon = { navigationIcon = {
FeedbackIconButton( FeedbackIconButton(
imageVector = Icons.Rounded.ArrowBack, imageVector = Icons.Rounded.ArrowBack,
@ -92,7 +88,9 @@ fun FeedsPagePreview(
contentDescription = stringResource(R.string.subscribe), contentDescription = stringResource(R.string.subscribe),
tint = MaterialTheme.colorScheme.onSurface, tint = MaterialTheme.colorScheme.onSurface,
) )
} }, colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Transparent,
)
) )
Spacer(modifier = Modifier.height(12.dp)) Spacer(modifier = Modifier.height(12.dp))
GroupItem( GroupItem(
@ -105,7 +103,8 @@ fun FeedsPagePreview(
FeedItemExpandSwitcher( FeedItemExpandSwitcher(
groupAlpha = groupAlpha, groupAlpha = groupAlpha,
feedBadgeAlpha = feedBadgeAlpha, feedBadgeAlpha = feedBadgeAlpha,
isExpanded = groupListExpand.value) isExpanded = groupListExpand.value
)
Spacer(modifier = Modifier.height(12.dp)) Spacer(modifier = Modifier.height(12.dp))
FilterBar( FilterBar(
filter = filter, filter = filter,
@ -121,7 +120,7 @@ fun FeedsPagePreview(
@Stable @Stable
@Composable @Composable
fun FeedItemExpandSwitcher(groupAlpha: Float,feedBadgeAlpha: Float ,isExpanded: Boolean) { fun FeedItemExpandSwitcher(groupAlpha: Float, feedBadgeAlpha: Float, isExpanded: Boolean) {
FeedPreview( FeedPreview(
groupAlpha = groupAlpha, groupAlpha = groupAlpha,
feedBadgeAlpha = feedBadgeAlpha, feedBadgeAlpha = feedBadgeAlpha,
@ -131,7 +130,7 @@ fun FeedItemExpandSwitcher(groupAlpha: Float,feedBadgeAlpha: Float ,isExpanded:
@Stable @Stable
@Composable @Composable
fun FeedPreview(groupAlpha: Float,feedBadgeAlpha: Float, isExpanded: Boolean) { fun FeedPreview(groupAlpha: Float, feedBadgeAlpha: Float, isExpanded: Boolean) {
FeedItem( FeedItem(
feed = generateFeedPreview(), feed = generateFeedPreview(),
alpha = groupAlpha, alpha = groupAlpha,

View File

@ -12,10 +12,11 @@ import androidx.compose.material.icons.rounded.DoneAll
import androidx.compose.material.icons.rounded.Search import androidx.compose.material.icons.rounded.Search
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SmallTopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -55,13 +56,8 @@ fun FlowPagePreview(
shape = RoundedCornerShape(24.dp) shape = RoundedCornerShape(24.dp)
) )
) { ) {
SmallTopAppBar( TopAppBar(
title = {}, title = {},
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(
topBarTonalElevation.value.dp
),
),
navigationIcon = { navigationIcon = {
FeedbackIconButton( FeedbackIconButton(
imageVector = Icons.Rounded.ArrowBack, imageVector = Icons.Rounded.ArrowBack,
@ -80,7 +76,9 @@ fun FlowPagePreview(
contentDescription = stringResource(R.string.search), contentDescription = stringResource(R.string.search),
tint = MaterialTheme.colorScheme.onSurface, tint = MaterialTheme.colorScheme.onSurface,
) {} ) {}
} }, colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Transparent,
)
) )
Spacer(modifier = Modifier.height(12.dp)) Spacer(modifier = Modifier.height(12.dp))
ArticleItem( ArticleItem(