MediaPlayerControllerView: Use IconButton instead of Box and remove the clipping.
This commit is contained in:
parent
24b0585747
commit
9641f6e0db
1 changed files with 14 additions and 18 deletions
|
|
@ -12,13 +12,12 @@ import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.fadeIn
|
import androidx.compose.animation.fadeIn
|
||||||
import androidx.compose.animation.fadeOut
|
import androidx.compose.animation.fadeOut
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.widthIn
|
import androidx.compose.foundation.layout.widthIn
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.material3.IconButtonDefaults
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
|
|
@ -28,7 +27,6 @@ import androidx.compose.runtime.rememberUpdatedState
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
|
@ -91,33 +89,31 @@ fun MediaPlayerControllerView(
|
||||||
.widthIn(max = 480.dp),
|
.widthIn(max = 480.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
val bgColor = if (state.isPlaying) {
|
val colors = if (state.isPlaying) {
|
||||||
ElementTheme.colors.bgCanvasDefault
|
IconButtonDefaults.iconButtonColors(
|
||||||
|
containerColor = ElementTheme.colors.bgCanvasDefault,
|
||||||
|
contentColor = ElementTheme.colors.iconPrimary,
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
ElementTheme.colors.textPrimary
|
IconButtonDefaults.iconButtonColors(
|
||||||
|
containerColor = ElementTheme.colors.iconPrimary,
|
||||||
|
contentColor = ElementTheme.colors.iconOnSolidPrimary,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
Box(
|
IconButton(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(36.dp)
|
.size(36.dp),
|
||||||
.background(
|
onClick = onTogglePlay,
|
||||||
color = bgColor,
|
colors = colors,
|
||||||
shape = CircleShape,
|
|
||||||
)
|
|
||||||
.clip(CircleShape)
|
|
||||||
.clickable { onTogglePlay() }
|
|
||||||
.padding(8.dp),
|
|
||||||
contentAlignment = Alignment.Center,
|
|
||||||
) {
|
) {
|
||||||
if (state.isPlaying) {
|
if (state.isPlaying) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = CompoundIcons.PauseSolid(),
|
imageVector = CompoundIcons.PauseSolid(),
|
||||||
tint = ElementTheme.colors.iconPrimary,
|
|
||||||
contentDescription = stringResource(CommonStrings.a11y_pause)
|
contentDescription = stringResource(CommonStrings.a11y_pause)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = CompoundIcons.PlaySolid(),
|
imageVector = CompoundIcons.PlaySolid(),
|
||||||
tint = ElementTheme.colors.iconOnSolidPrimary,
|
|
||||||
contentDescription = stringResource(CommonStrings.a11y_play)
|
contentDescription = stringResource(CommonStrings.a11y_play)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue