mirror of
https://github.com/thunderbird/thunderbird-android.git
synced 2024-09-19 11:42:14 +02:00
Add Dot and Star icons
This commit is contained in:
parent
74653a7bd8
commit
f07ba6fced
@ -3,6 +3,7 @@ package app.k9mail.ui.catalog.ui.atom.items
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.grid.LazyGridScope
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
@ -24,6 +25,28 @@ fun LazyGridScope.iconItems() {
|
||||
sectionHeaderItem(
|
||||
text = "Compose Icons",
|
||||
)
|
||||
sectionSubtitleItem(text = "Sizes")
|
||||
defaultItem {
|
||||
IconItem(
|
||||
name = "Small",
|
||||
imageVector = Icons.Outlined.Info,
|
||||
modifier = Modifier.size(MainTheme.sizes.iconSmall),
|
||||
)
|
||||
}
|
||||
defaultItem {
|
||||
IconItem(
|
||||
name = "Default",
|
||||
imageVector = Icons.Outlined.Info,
|
||||
modifier = Modifier.size(MainTheme.sizes.icon),
|
||||
)
|
||||
}
|
||||
defaultItem {
|
||||
IconItem(
|
||||
name = "Large",
|
||||
imageVector = Icons.Outlined.Info,
|
||||
modifier = Modifier.size(MainTheme.sizes.iconLarge),
|
||||
)
|
||||
}
|
||||
sectionSubtitleItem(text = "Filled")
|
||||
getIconsFor(Icons.Filled)
|
||||
sectionSubtitleItem(text = "Outlined")
|
||||
@ -81,13 +104,13 @@ private fun IconItem(
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.padding(defaultItemPadding())
|
||||
.then(modifier),
|
||||
.padding(defaultItemPadding()),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = imageVector,
|
||||
modifier = modifier,
|
||||
)
|
||||
TextBodySmall(text = name)
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import androidx.compose.material.icons.automirrored.outlined.ArrowBack
|
||||
import androidx.compose.material.icons.filled.Cancel
|
||||
import androidx.compose.material.icons.filled.CheckCircle
|
||||
import androidx.compose.material.icons.filled.Outbox
|
||||
import androidx.compose.material.icons.filled.Star
|
||||
import androidx.compose.material.icons.filled.VisibilityOff
|
||||
import androidx.compose.material.icons.outlined.AccountCircle
|
||||
import androidx.compose.material.icons.outlined.Check
|
||||
@ -16,16 +17,23 @@ import androidx.compose.material.icons.outlined.Menu
|
||||
import androidx.compose.material.icons.outlined.Security
|
||||
import androidx.compose.material.icons.outlined.Visibility
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import app.k9mail.core.ui.compose.designsystem.atom.icon.filled.Dot
|
||||
import androidx.compose.material.icons.Icons as MaterialIcons
|
||||
|
||||
// We're using getters so not all icons are loaded into memory as soon as one of the nested objects is accessed.
|
||||
object Icons {
|
||||
object Filled {
|
||||
val Cancel: ImageVector
|
||||
get() = MaterialIcons.Filled.Cancel
|
||||
|
||||
val CheckCircle: ImageVector
|
||||
get() = MaterialIcons.Filled.CheckCircle
|
||||
|
||||
val Cancel: ImageVector
|
||||
get() = MaterialIcons.Filled.Cancel
|
||||
val Dot: ImageVector
|
||||
get() = MaterialIcons.Filled.Dot
|
||||
|
||||
val Star: ImageVector
|
||||
get() = MaterialIcons.Filled.Star
|
||||
}
|
||||
|
||||
object Outlined {
|
||||
|
@ -0,0 +1,27 @@
|
||||
package app.k9mail.core.ui.compose.designsystem.atom.icon.filled
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.materialIcon
|
||||
import androidx.compose.material.icons.materialPath
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
|
||||
@Suppress("MagicNumber")
|
||||
val Icons.Filled.Dot: ImageVector
|
||||
get() {
|
||||
if (instance != null) {
|
||||
return instance!!
|
||||
}
|
||||
instance = materialIcon(name = "Filled.Dot") {
|
||||
materialPath {
|
||||
moveTo(12.0f, 6.0f)
|
||||
curveToRelative(-3.31f, 0.0f, -6.0f, 2.69f, -6.0f, 6.0f)
|
||||
reflectiveCurveToRelative(2.69f, 6.0f, 6.0f, 6.0f)
|
||||
reflectiveCurveToRelative(6.0f, -2.69f, 6.0f, -6.0f)
|
||||
reflectiveCurveToRelative(-2.69f, -6.0f, -6.0f, -6.0f)
|
||||
close()
|
||||
}
|
||||
}
|
||||
return instance!!
|
||||
}
|
||||
|
||||
private var instance: ImageVector? = null
|
@ -14,8 +14,9 @@ data class ThemeSizes(
|
||||
val huge: Dp,
|
||||
val huger: Dp,
|
||||
|
||||
val iconSmall: Dp,
|
||||
val icon: Dp,
|
||||
val largeIcon: Dp,
|
||||
val iconLarge: Dp,
|
||||
|
||||
val topBarHeight: Dp,
|
||||
val bottomBarHeight: Dp,
|
||||
|
@ -12,8 +12,9 @@ val defaultThemeSizes = ThemeSizes(
|
||||
huge = 256.dp,
|
||||
huger = 384.dp,
|
||||
|
||||
iconSmall = 16.dp,
|
||||
icon = 24.dp,
|
||||
largeIcon = 32.dp,
|
||||
iconLarge = 32.dp,
|
||||
|
||||
topBarHeight = 64.dp,
|
||||
bottomBarHeight = 80.dp,
|
||||
|
@ -85,7 +85,7 @@ private fun IconWithPermissionStateOverlay(
|
||||
permissionState: UiPermissionState,
|
||||
) {
|
||||
Box {
|
||||
val iconSize = MainTheme.sizes.largeIcon
|
||||
val iconSize = MainTheme.sizes.iconLarge
|
||||
val overlayIconSize = iconSize / 2
|
||||
val overlayIconOffset = overlayIconSize / 2
|
||||
val scalingFactor = iconSize / icon.image.defaultHeight
|
||||
|
Loading…
Reference in New Issue
Block a user