A site to compare similarities and differences between different declaritive UI frameworks
View the Project on GitHub Frei-Tag-Projekt/declarative-ui-docs
Everyone of the frameworks has similar basic building blocks
Text is really powerful in every framework, it is also one of the simplest building blocks. It displays the string that is passed to it.
Text(“Sample Text”)
Text(‘Sample Text’);
Text(“Sample Text”)
Button(“Displayed text”) {
print(“Button was pressed”)
}
TextButton(
onPressed: () { print(‘Button was pressed’); },
child: Text(‘Displayed text’),
);
Button(
onClick = { print(“Button was pressed”) }
) {
Text(“Displayed Text”)
}
Image(“AssetName”)
Image.asset(’pathTo/AssetName.png‘)
Image(
painter = painterResource(id = R.drawable.dog),
contentDescription = stringResource(id = R.string.dog_content_description)
)
Rectangle()
.fill(Color.red)
.frame(width: 100, height: 100)
Circle()
.fill(Color.red)
.frame(width: 100, height: 100)
Box(
modifier = Modifier.size(100.dp).clip(RectangleShape).background(Color.Red)
)
Box(
modifier = Modifier.size(100.dp).clip(CircleShape).background(Color.Red)
)
struct SimpleTextField: View {
@State var enteredText = “Default Text”
var body: some View {
TextField($enteredText)
}
}
@Composable
fun SimpleTextField() {
var enteredText by remember { mutableStateOf(TextFieldValue("Default Text")) }
TextField(
value = text,
onValueChange = { newText ->
enteredText = newText
}
)
}
@State var isSheetPresented = false
Button(“Present Sheet”) {
isSheetPresented = true
}.sheet(isPresented: $isSheetPresented, onDismiss: { /* Executed when the sheet is dismissed */ }) {
Text(“Sheet is presented”)
}
var isSheetPresented by remember { mutableStateOf(false) }
Button(
onClick = { isSheetPresented = true }
) {
Text(“Present Sheet”)
}
if (isSheetPresented) {
ModalBottomSheet(onDismissRequest = { /* Executed when the sheet is dismissed */ }) {
Text(”Sheet is presented”)
}
}