咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

声明式UI:JetPack Compose语法简单总结

此文档为了对比各个声明式UI编程语法,避免混淆。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.example.testcompose

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import com.example.testcompose.ui.theme.TestComposeTheme


class HelloActivity : ComponentActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestComposeTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Column {
textDemo("Hello World !!!", 20f)
buttonDemo()
}
}
}
}
}

@Composable
fun textDemo(msg: String, fontSize: Float) {
Text(
text = msg,
fontSize = fontSize.sp,
fontWeight = FontWeight.Bold
)
Text(
text = msg,
color = Color.Red,
fontSize = 24.sp,
fontStyle = FontStyle.Normal,
fontWeight = FontWeight.W700
)
}
@Composable
fun buttonDemo() {
var isToggle by remember { mutableStateOf(true) }
Button(
onClick = { isToggle = !isToggle },
) {
Text(
text = if (isToggle) "我是一个按钮" else "我不是"
)
}
}
}

TODO