Compose乃是大势所趋,不做太多介绍。本文介绍一些基础控件的使用方式
讲讲声明式
只需要给界面进行一次性的声明,不需要手动更新界面,而是自动更新。
文字
// 显示一段文字Text(text = "Text")// 设置颜色Text(text = "Color", color = Color.Red)// 设置字体大小Text(text = "Size", fontSize = 18.sp)// 设置粗体Text(text = "加粗", fontWeight = FontWeight.W800)// 文字斜体Text(text = "斜体", fontStyle = FontStyle.Italic)// 斜体+加粗Text(text = "加粗 and 斜体", fontStyle = FontStyle.Italic, fontWeight = FontWeight.W800)
其中FontWeight有W100-W900的值。详情自行查看
图片
Image(painterResource(R.mipmap.ic_launcher), TAG)Icon(painterResource(R.mipmap.ic_launcher), TAG)
其中TAG是contentDescription参数,用于无障碍服务。
加载网络图片或者本地图片,可用Coil库的Compose版本
纵向布局
类似LinearLayout设置纵向的布局,结合之前本文和图片的例子
Column {// 显示一段文字Text(text = "Text")// 设置颜色Text(text = "Color", color = Color.Red)// 设置字体大小Text(text = "Size", fontSize = 18.sp)// 设置粗体Text(text = "加粗", fontWeight = FontWeight.W800)// 文字斜体Text(text = "斜体", fontStyle = FontStyle.Italic)// 斜体+加粗Text(text = "加粗 and 斜体", fontStyle = FontStyle.Italic, fontWeight = FontWeight.W800)Image(painterResource(R.mipmap.ic_launcher), TAG)Icon(painterResource(R.mipmap.ic_launcher), TAG)}
横向布局
类似LinearLayout设置横向的布局
Row {// 显示一段文字Text(text = "Text")// 设置颜色Text(text = "Color", color = Color.Red)}
