Make Preference icon optional

This commit is contained in:
MM20 2021-09-26 12:44:51 +02:00
parent 92694718ce
commit a7536f649c
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -4,6 +4,7 @@ import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.material.Icon import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
@ -13,12 +14,16 @@ import androidx.compose.ui.unit.dp
@Composable @Composable
fun Preference( fun Preference(
icon: ImageVector, icon: ImageVector?,
title: String, title: String,
summary: String? = null, summary: String? = null,
onClick: () -> Unit = {}, onClick: () -> Unit = {},
controls: @Composable (() -> Unit)? = null controls: @Composable (() -> Unit)? = null
) { ) {
Surface(
modifier = Modifier.fillMaxWidth(),
elevation = 0.dp
) {
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier modifier = Modifier
@ -26,12 +31,19 @@ fun Preference(
.clickable(onClick = onClick) .clickable(onClick = onClick)
.padding(horizontal = 16.dp, vertical = 16.dp), .padding(horizontal = 16.dp, vertical = 16.dp),
) { ) {
Box(
modifier = Modifier.width(56.dp),
contentAlignment = Alignment.CenterStart
) {
if (icon != null) {
Icon( Icon(
modifier = Modifier.padding(start = 4.dp),
imageVector = icon, imageVector = icon,
contentDescription = null, contentDescription = null,
modifier = Modifier.padding(end = 24.dp),
tint = MaterialTheme.colors.primary tint = MaterialTheme.colors.primary
) )
}
}
Column( Column(
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) { ) {
@ -52,4 +64,6 @@ fun Preference(
} }
} }
} }
}
} }