android studio基础知识
1.Text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Composable fun GreetingText(message: String,from: String, modifier: Modifier = Modifier) { Text( text = message, fontSize = 60.sp, lineHeight = 60.sp, modifier = modifier ) Text( text = from, fontSize = 60.sp, lineHeight = 60.sp, )
}
|
2.Row/Column
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Column( verticalArrangement = Arrangement.Center, modifier = modifier ){ Text( text = message, fontSize = 40.sp, lineHeight = 60.sp, modifier = Modifier .padding(16.dp) .align(alignment = Alignment.CenterHorizontally) ) Text( text = from, fontSize = 60.sp, lineHeight = 60.sp, modifier = Modifier .padding(16.dp) .align(alignment = Alignment.CenterHorizontally) )
|
3.Image
存放位置:
1 2 3 4 5 6 7 8 9 10
| MyProject/ src/ MyActivity.kt res/ drawable/ graphic.png mipmap/ icon.png values/ strings.xml
|
etpack Compose 可以访问您的 Android 项目中定义的资源。可以使用在项目的 R
类中生成的资源 ID 访问资源。
R
类是 Android 自动生成的类,其中包含了项目中所有资源的 ID。在大多数情况下,资源 ID 与文件名相同。例如,可以使用以下代码访问上面的文件层次结构中的图片:
painterResource
:这是一个函数,属于Jetpack Compose的API。这个函数的作用是获取一个Painter
对象,这个对象可以用来绘制图像资源。Painter
是Jetpack Compose中的一个接口,它定义了绘制图形和图像的方法。
1 2 3 4 5
| val image = painterResource(R.drawable.androidparty) Image( painter = image, contentDescription = null )
|
4.Gif
添加coil库
导入:
1 2 3 4
| import coil.ImageLoader import coil.compose.AsyncImage import coil.decode.GifDecoder import coil.decode.ImageDecoderDecoder
|
使用:
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
| val context = LocalContext.current val gifEnabledLoader = ImageLoader.Builder(context) .components { if ( SDK_INT >= 28 ) { add(ImageDecoderDecoder.Factory()) } else { add(GifDecoder.Factory()) } }.build()
val gifUri = "android.resource://${context.packageName}/${R.drawable.g6}"
Column( verticalArrangement = Arrangement.Center, modifier = modifier.background(color = Color(255, 255, 255)) ){ AsyncImage( model = gifUri, imageLoader = gifEnabledLoader, contentDescription = "Drawable GIF", placeholder = painterResource(R.drawable.cat13), alpha = 0.5F )
|
5.Box