Skip to content

Commit b323515

Browse files
authored
Merge pull request #2 from savvasdalkitsis/master
Adding overloads for painter and resource ID for navigation items
2 parents 18fefaf + fd9a226 commit b323515

1 file changed

Lines changed: 47 additions & 1 deletion

File tree

bubble-navigation-bar-compose/src/main/java/com/commandiron/bubble_navigation_bar_compose/Bubble_Navigation_Bar_Compose.kt

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.commandiron.bubble_navigation_bar_compose
22

3+
import androidx.annotation.DrawableRes
34
import androidx.compose.animation.AnimatedVisibility
45
import androidx.compose.foundation.clickable
56
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -11,7 +12,10 @@ import androidx.compose.runtime.*
1112
import androidx.compose.ui.Alignment
1213
import androidx.compose.ui.Modifier
1314
import androidx.compose.ui.graphics.Color
15+
import androidx.compose.ui.graphics.painter.Painter
1416
import androidx.compose.ui.graphics.vector.ImageVector
17+
import androidx.compose.ui.graphics.vector.rememberVectorPainter
18+
import androidx.compose.ui.res.painterResource
1519
import androidx.compose.ui.unit.Dp
1620
import androidx.compose.ui.unit.dp
1721

@@ -42,6 +46,27 @@ fun BubbleNavigationBar(
4246
}
4347
}
4448

49+
@Composable
50+
fun RowScope.BubbleNavigationBarItem(
51+
modifier: Modifier = Modifier,
52+
selected: Boolean,
53+
onClick: () -> Unit,
54+
@DrawableRes icon: Int,
55+
selectedColor: Color,
56+
unSelectedBackgroundColor: Color = MaterialTheme.colorScheme.primaryContainer,
57+
unSelectedIconColor: Color = MaterialTheme.colorScheme.onPrimaryContainer.copy(alpha = 0.1f),
58+
title: String
59+
) = BubbleNavigationBarItem(
60+
modifier,
61+
selected,
62+
onClick,
63+
painterResource(icon),
64+
selectedColor,
65+
unSelectedBackgroundColor,
66+
unSelectedIconColor,
67+
title,
68+
)
69+
4570
@Composable
4671
fun RowScope.BubbleNavigationBarItem(
4772
modifier: Modifier = Modifier,
@@ -52,6 +77,27 @@ fun RowScope.BubbleNavigationBarItem(
5277
unSelectedBackgroundColor: Color = MaterialTheme.colorScheme.primaryContainer,
5378
unSelectedIconColor: Color = MaterialTheme.colorScheme.onPrimaryContainer.copy(alpha = 0.1f),
5479
title: String
80+
) = BubbleNavigationBarItem(
81+
modifier,
82+
selected,
83+
onClick,
84+
rememberVectorPainter(icon),
85+
selectedColor,
86+
unSelectedBackgroundColor,
87+
unSelectedIconColor,
88+
title,
89+
)
90+
91+
@Composable
92+
fun RowScope.BubbleNavigationBarItem(
93+
modifier: Modifier = Modifier,
94+
selected: Boolean,
95+
onClick: () -> Unit,
96+
iconPainter: Painter,
97+
selectedColor: Color,
98+
unSelectedBackgroundColor: Color = MaterialTheme.colorScheme.primaryContainer,
99+
unSelectedIconColor: Color = MaterialTheme.colorScheme.onPrimaryContainer.copy(alpha = 0.1f),
100+
title: String
55101
) {
56102
val interactionSource = remember { MutableInteractionSource() }
57103
BoxWithConstraints(
@@ -79,7 +125,7 @@ fun RowScope.BubbleNavigationBarItem(
79125
) {
80126
Icon(
81127
modifier = Modifier.height(navigationHeight / 2),
82-
imageVector = icon,
128+
painter = iconPainter,
83129
contentDescription = null,
84130
tint = if(selected) selectedColor else unSelectedIconColor
85131
)

0 commit comments

Comments
 (0)