package com.geeksforgeeks.demo
import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.*
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.*
import com.geeksforgeeks.demo.ui.theme.DemoTheme
import com.geeksforgeeks.demo.ui.theme.green
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
DemoTheme {
FloatingActionButtons()
}
}
}
}
@Composable
fun FloatingActionButtons() {
val context = LocalContext.current
Column(
modifier = Modifier
.fillMaxSize()
.fillMaxHeight()
.fillMaxWidth(),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "Floating Action Buttons in Android\nJetpack Compose",
color = green,
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Bold, textAlign = TextAlign.Center
)
Spacer(modifier = Modifier.height(20.dp))
// a simple floating action button
FloatingActionButton(
onClick = {
Toast.makeText(context, "Simple Floating Action Button",
Toast.LENGTH_SHORT).show()
},
containerColor = green,
contentColor = Color.White
) {
// adding icon for button.
Icon(Icons.Filled.Add, "")
}
Spacer(modifier = Modifier.height(20.dp))
// a square floating action button
FloatingActionButton(
onClick = {
Toast.makeText(context, "Square Floating Action Button",
Toast.LENGTH_SHORT).show()
},
shape = RectangleShape,
containerColor = green,
contentColor = Color.White
) {
Icon(Icons.Filled.Add, "")
}
Spacer(modifier = Modifier.height(20.dp))
// an extended floating action button.
ExtendedFloatingActionButton(
text = { Text(text = "Extended FAB") },
onClick = {
Toast.makeText(context, "Extended Floating Action Button",
Toast.LENGTH_SHORT).show()
},
containerColor = green,
contentColor = Color.White,
icon = { Icon(Icons.Filled.Add, "") }
)
}
}