# ZgoCompose **Repository Path**: du_dong_fang/ZgoCompose ## Basic Information - **Project Name**: ZgoCompose - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-04 - **Last Updated**: 2024-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZgoDemo * android compose * navigation compose * paging * http * demo for fun android api * CameraView * mlkit-text-recognition (crop image) OCR 识别文字 采用[Google MlKit](https://github.com/googlesamples/mlkit) 效果图 https://github.com/androidx/androidx/tree/androidx-main/compose/ 1. Surface 会向应用添加背景,并配置文本颜色。 2. 预览 由于 HomeScreen 添加了 NavController 参数,所以预览失效: > No value passed for parameter 'navController' 加上一个参数即可。 ``` @Preview @Composable fun PreviewHome() { val navController = rememberNavController() HomeScreen(navController) } ``` 3. Navigation ``` @Composable fun ComposeNavigation() { val navController = rememberNavController() NavHost( navController = navController, startDestination = "first_screen" ) { composable("first_screen") { FirstScreen(navController = navController) } composable("second_screen") { SecondScreen(navController = navController) } composable("third_screen") { ThirdScreen(navController = navController) } } } navController.navigate("second_screen") ``` 4. codelabs https://developer.android.com/codelabs/jetpack-compose-layouts https://developer.android.com/codelabs/jetpack-compose-state 5. example https://github.com/googlecodelabs/android-compose-codelabs https://github.com/android/compose-samples https://foso.github.io/Jetpack-Compose-Playground/ 6. color-roles https://m3.material.io/styles/color/the-color-system/color-roles https://material-foundation.github.io/material-theme-builder/ 7. material-catalog https://github.com/androidx/androidx/tree/androidx-main/compose/integration-tests/material-catalog 8. 设置状态栏 https://google.github.io/accompanist/insets/ https://zhuanlan.zhihu.com/p/277342333 ``` // step 1 implementation "com.google.accompanist:accompanist-insets:0.18.0" // step 2 // step 3 class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // This app draws behind the system bars, so we want to handle fitting system windows WindowCompat.setDecorFitsSystemWindows(window, false) setContent { MyApp() } } } // step 4 // 设置状态栏 fun AppTheme( useDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit ) { val colors = if (!useDarkTheme) { LightThemeColors } else { DarkThemeColors } // 设置状态栏 颜色 val view = LocalView.current SideEffect { ViewCompat.getWindowInsetsController(view)?.isAppearanceLightStatusBars = !useDarkTheme } MaterialTheme( colorScheme = colors, typography = AppTypography, content = content ) } // step 5 @Composable fun HomePage() { ZgoScaffold{ LazyColumn( contentPadding = rememberInsetsPaddingValues( insets = LocalWindowInsets.current.statusBars, ), ){ item { Text(text = "home", modifier = Modifier.fillMaxSize()) } } } } ``` 9. Utils for jetpack Compose https://google.github.io/accompanist/ 10. 网格列表 columns-rows-grids https://www.geeksforgeeks.org/lazy-composables-in-android-jetpack-compose-columns-rows-grids/ lazycolumn + grid https://stackoverflow.com/questions/69336555/fixed-grid-inside-lazycolumn-in-jetpack-compose 11. 图片加载 coil https://coil-kt.github.io/coil/compose/ ``` // 图片加载 implementation("io.coil-kt:coil-compose:1.4.0") ``` 12 https://github.com/DaaniDev/jetpack_compose_animations src/main/java/com/daanidev/compose/bottomnav/BottomNavActivity.kt