package
com.geeksforgeeks.jcswipeableactionbox
import
android.os.Bundle
import
android.widget.Toast
import
androidx.activity.ComponentActivity
import
androidx.activity.compose.setContent
import
androidx.compose.foundation.layout.Arrangement
import
androidx.compose.foundation.layout.Column
import
androidx.compose.foundation.layout.fillMaxSize
import
androidx.compose.material.*
import
androidx.compose.ui.Alignment
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.platform.LocalContext
import
androidx.compose.ui.res.painterResource
import
androidx.compose.ui.unit.sp
import
me.saket.swipe.SwipeAction
import
me.saket.swipe.SwipeableActionsBox
class
MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContent {
Scaffold(
topBar = { TopAppBar(title = { Text(
"GFG | Swipeable Action Box"
, color = Color.White) }, backgroundColor = Color(
0xff0f9d58
)) },
content = {
Column(Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center) {
val mLocalContext = LocalContext.current
val mCall = SwipeAction(
icon = painterResource(R.drawable.ic_call),
background = Color.Green,
isUndo =
true
,
onSwipe = { Toast.makeText(mLocalContext,
"Calling"
,Toast.LENGTH_SHORT).show()}
)
val mMessage = SwipeAction(
icon = painterResource(R.drawable.ic_message),
background = Color.Yellow,
isUndo =
true
,
onSwipe = { Toast.makeText(mLocalContext,
"Sending Message"
,Toast.LENGTH_SHORT).show()}
)
SwipeableActionsBox(startActions = listOf(mCall), endActions = listOf(mMessage)) {
Button(onClick = {
}, colors = ButtonDefaults.buttonColors(backgroundColor = Color(
0XFF0F9D58
))) {
Text(text =
"Swipe Left or Right"
, fontSize =
25
.sp, color = Color.White)
}
}
}
}
)
}
}
}