Android11新推出Compose介绍

简单介绍

  1. 今年android11已经完爆了android10去年的发布会,无论从ai模型上的优化还是jetpack库的升级,都能说是android11的亮点。这里我们主要介绍与学习jetpack的compose是什么,有什么用?
  2. Compose的使用需要在AS4.2版本(暂时只有preview版,没稳定版)才可以使用。

Compose

Compose是什么
  1. Compose的宗旨是:用代码书写UI,增强UI复用性,减少xml的书写。就是使用更少的代码、强大的工具和直观的 Kotlin API 简化并加快了 Android 上的界面开发。
Compose怎么用
  1. Compose只是注解接口,内部原理在自己看懂后,会在往后出一篇介绍原理,现在我们简单介绍如何使用。温馨提示Compose对学习过flutter的开发者来说非常容易入门。
  2. Compose支持的布局:一、Column(列排列的组件); 二、Row(行排列的组件);三、Statck(叠加的组件)、四、Scaffold(Scaffold、MaterialTheme等是Material Design风格的组件)等。这里简单只写出4个是因为这对于学习过flutter的开发者来说,它们4个已经是非常熟悉的老朋友了。
  3. 和flutter一样,Compose让开发者可以专心使用代码写开发UI界面,无需再写一份xml代码,缺点就是层级嵌套过深吧。
开始撸代码
//温馨提示:撸Compose的代码,电脑性能要好点,要不然卡成狗屎,因为as也做成实时编译
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MagicTheme {
                Scaffold(
                    backgroundColor = Color.White,
                    bodyContent = {
                        listContent()
                    }
                )
            }
        }
    }
}

//主要简单用下flutter这些老朋友写写
@Composable
fun listContent() {
    Column(modifier = Modifier.background(Color.DarkGray)) {
        Text(text = "测试", style = TextStyle(color = Color.Blue, fontSize = TextUnit.Sp(14)))
        Spacer(modifier = Modifier.padding(vertical = 5.dp))
        Row {
            Text(text = "测试1", style = TextStyle(color = Color.Blue, fontSize = TextUnit.Sp(14)))
            Text(text = "测试2", style = TextStyle(color = Color.Blue, fontSize = TextUnit.Sp(14)))
            Text(text = "测试3", style = TextStyle(color = Color.Blue, fontSize = TextUnit.Sp(14)))
        }
    }
}

//Material Design风格
@Composable
fun MagicTheme(
    content: @Composable () -> Unit
) {
    MaterialTheme(
        colors = MagicColors,
        typography = typography,
        shapes = shapes,
        content = content
    )
}

####### 最后效果图


手机上效果图

总结

  1. 不要想着把api全部记下来,要看时候直接点击看源码参数,遇到不懂再找官网看下使用,这是我学习flutter最大收获,易上手。
  2. 这里的Compose只是初略减少下,android亲爹也打算支持flutter的风格了,大家可以抽空玩玩即可。
  3. 后续打算先出个如何刷新Compose上View的数据文章,主要都是些简单介绍,大家也可以看下面官网学习即可。
    学习参考资料:
    官网说明:https://developer.android.com/jetpack/compose
    官网demo:https://github.com/android/compose-samples

你可能感兴趣的:(Android11新推出Compose介绍)