Adjust permission banner style
This commit is contained in:
parent
7132e69ec8
commit
c7acd7ad24
@ -46,6 +46,7 @@ android {
|
|||||||
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
|
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
|
||||||
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
||||||
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
||||||
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3ExpressiveApi",
|
||||||
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
|
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
|
||||||
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
|
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
|
||||||
"-opt-in=com.google.accompanist.pager.ExperimentalPagerApi",
|
"-opt-in=com.google.accompanist.pager.ExperimentalPagerApi",
|
||||||
|
|||||||
@ -1,62 +1,68 @@
|
|||||||
package de.mm20.launcher2.ui.component
|
package de.mm20.launcher2.ui.component
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.material3.*
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.FlowRow
|
||||||
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.material3.CardDefaults
|
||||||
|
import androidx.compose.material3.Icon
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
|
import androidx.compose.material3.OutlinedCard
|
||||||
|
import androidx.compose.material3.Text
|
||||||
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.graphics.Color
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.google.accompanist.flowlayout.FlowCrossAxisAlignment
|
|
||||||
import com.google.accompanist.flowlayout.FlowRow
|
|
||||||
import com.google.accompanist.flowlayout.MainAxisAlignment
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun Banner(
|
fun Banner(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
text: String,
|
text: String,
|
||||||
icon: ImageVector,
|
icon: ImageVector,
|
||||||
color: Color = MaterialTheme.colorScheme.surfaceVariant,
|
color: Color = MaterialTheme.colorScheme.surfaceContainer,
|
||||||
primaryAction: (@Composable () -> Unit)? = null,
|
primaryAction: (@Composable () -> Unit)? = null,
|
||||||
secondaryAction: (@Composable () -> Unit)? = null,
|
secondaryAction: (@Composable () -> Unit)? = null,
|
||||||
) {
|
) {
|
||||||
Card(
|
OutlinedCard(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
colors = CardDefaults.cardColors(
|
colors = CardDefaults.outlinedCardColors(
|
||||||
containerColor = color,
|
containerColor = color,
|
||||||
|
contentColor = MaterialTheme.colorScheme.secondary,
|
||||||
),
|
),
|
||||||
shape = MaterialTheme.shapes.small,
|
shape = MaterialTheme.shapes.small,
|
||||||
) {
|
) {
|
||||||
Column {
|
Column {
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.padding(16.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
modifier = Modifier.padding(16.dp),
|
modifier = Modifier.padding(end = 16.dp),
|
||||||
imageVector = icon,
|
imageVector = icon,
|
||||||
contentDescription = null
|
contentDescription = null
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = text,
|
text = text,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.weight(1f)
|
.weight(1f),
|
||||||
.padding(vertical = 16.dp)
|
style = MaterialTheme.typography.bodySmallEmphasized
|
||||||
.padding(end = 16.dp),
|
|
||||||
style = MaterialTheme.typography.labelMedium
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (secondaryAction != null || primaryAction != null) {
|
if (secondaryAction != null || primaryAction != null) {
|
||||||
FlowRow(
|
FlowRow(
|
||||||
Modifier
|
Modifier
|
||||||
.align(Alignment.End)
|
.align(Alignment.End)
|
||||||
.padding(8.dp),
|
.padding(start = 12.dp, end = 12.dp, bottom = 12.dp),
|
||||||
crossAxisSpacing = 8.dp,
|
horizontalArrangement = Arrangement.End,
|
||||||
crossAxisAlignment = FlowCrossAxisAlignment.End,
|
verticalArrangement = Arrangement.Bottom,
|
||||||
mainAxisAlignment = MainAxisAlignment.End
|
itemVerticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Box {
|
Box {
|
||||||
secondaryAction?.invoke()
|
secondaryAction?.invoke()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user