最新因為一些原因,開始重新學習Android及kotlin編程,也覺得可以順帶記錄下這個過程中的一些知識點,也可以用作日后自己查找復習。
@Composable 注解在 Android 開發中的使用
@Composable
是 Jetpack Compose(Android 的現代聲明式 UI 工具包)中的核心注解,用于標記可組合函數(Composable functions)。
基本概念
- 可組合函數:用
@Composable
注解的函數,用于描述 UI 的一部分 - 聲明式 UI:與傳統的命令式 UI 不同,你只需描述 UI 應該是什么樣子,而不是如何更新它
- 重組:當狀態變化時,Compose 會自動重新調用這些函數來更新 UI
基本用法
@Composable
fun Greeting(name: String) {Text(text = "Hello, $name!")
}
關鍵特性
- 無返回值:可組合函數不返回任何值,它們只是聲明 UI
- 可以調用其他可組合函數:一個
@Composable
函數可以調用其他@Composable
函數 - 重組能力:當輸入參數變化時,函數會自動重新執行
- 狀態管理:可以使用
remember
和mutableStateOf
來管理狀態
狀態管理示例
@Composable
fun Counter() {var count by remember { mutableStateOf(0) }Button(onClick = { count++ }) {Text("Clicked $count times")}
}
常見用途
- 構建 UI 組件
- 主題和樣式設置
- 導航邏輯
- 狀態管理
注意事項
- 可組合函數可以在任何線程上執行
- 不應在可組合函數中執行長時間運行的操作
- 函數可以按任何順序執行
- 函數可以并行運行
另外在搭配@Preview注解使用的時候,要確保所有的參數都已經賦予了默認參數,否則將會收到一個錯誤。
【Composable functions with non-default parameters are not supported in Preview unless they are annotated with @PreviewParameter 】