Button
Floating Action Button (FAB)
Also Read Tabs in Jetpack Compose
Steps :
package com.example.codingbihar
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import com.example.codingbihar.ui.theme.CodingBiharTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
CodingBiharTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Fab()
}
}
}
}
}Create a separate file for FAB and named it as Fab
Fab
package com.example.codingbihar
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.Edit
import androidx.compose.material3.ExtendedFloatingActionButton
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
import androidx.compose.material3.LargeFloatingActionButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.runtime.setValue
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
@Composable
fun Fab() {
var myFABState by remember {
mutableStateOf(false)
}
Column(modifier = Modifier.padding(30.dp)){
FloatingActionButton(onClick = { },
contentColor = Color.Green,
containerColor = Color.Magenta,
modifier = Modifier.padding(8.dp)
) {
Icon(imageVector = Icons.Default.Add,
contentDescription ="")
}
SmallFloatingActionButton(onClick = { /*TODO*/ },
modifier = Modifier.padding(8.dp)
) {
Icon(imageVector = Icons.Default.Add,
contentDescription ="")
}
ExtendedFloatingActionButton(
modifier = Modifier.padding(8.dp),
text = { Text(text = "Edit FAB") },
icon = { Icon(imageVector = Icons.Default.Edit,
contentDescription ="" )},
expanded = myFABState,
onClick = { myFABState=!myFABState}
)
LargeFloatingActionButton(
modifier = Modifier.padding(8.dp),
onClick = { /*TODO*/ }
) {
Icon(imageVector = Icons.Default.Add,
contentDescription ="")
}
}
}



