Creating a sequence of showcases in a specific order.
- Gradle
implementation("io.github.jocoand:showcase-sequence:1.1.1")
-
Create your Showcase dialog
-
@Composable fun MyShowcaseDialog(text: String, onClick: () -> Unit) { Column( modifier = Modifier .background(Color.White, shape = RoundedCornerShape(12.dp)) .padding(16.dp), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.End ) { Text(text = text) Spacer(modifier = Modifier.height(8.dp)) Button( shape = RoundedCornerShape(8.dp), onClick = onClick ) { Text("Nice !") } } }
-
Declare the
SequenceShowcase
&sequenceShowcaseState
-
val sequenceShowcaseState = rememberSequenceShowcaseState() SequenceShowcase(state = sequenceShowcaseState) { Scaffold( ...
-
Mark your target view with
sequenceShowcaseTarget
modifier -
// View to be highlighted MyView1( modifier = Modifier .sequenceShowcaseTarget( index = 0, content = { MyShowcaseDialog( text = "Hey, this is Greetings showcase", ) } ), onClick = { sequenceShowcaseState.start() } )
Assign
index
value to mark the order to be shown in the sequenceAssign
content
value with your dialog -
Use
SequenceShowcaseState.start()
to start the showcase -
LaunchButton( ... onClick = { sequenceShowcaseState.start() } )
Assign optional
index
value to start at certain index -
Use
SequenceShowcaseState.next()
to navigate to the next showcase -
MyView2( modifier = Modifier .sequenceShowcaseTarget( index = 1, content = { MyShowcaseDialog( text = "Hey, this is Article show case", onClick = { sequenceShowcaseState.next() // Navigate to next showcase } ) } ) )
-
You can also dismiss the the showcase using
dimiss()
-
See sample for more more details
-
position
Top Bottom Default
: relative to target position -
alignment
Start Center End Default
: relative to target position -
highlight
Rectangular Circular
- See MainActivity
In case you need more basic usage, you can you use ShowcaseView
Contribution are welcome! Feel free to open an issue or a pull request, if you find any bugs or have any suggestions.