2021/07/29 Jetpack compose1.0正式发布,已经可以在生产环境中使用了。

下面的内容为根据官方教程尝试的总结,上手没难度,而且也不需要配置什么环境。

Android 开发者  |  Android Developers (google.cn)

Jetpack Compose是用于构建原生Android界面的工具包。不需要xml布局,也不需要创建界面微件,只需要调用Jetpack Compose函数(使用@Composable注解的函数)即可。

步骤:

1. 下载Android Studio Arctic Fox | 2020.3.1(否则创建不了compose工程)

2.  File - New - New Project - Empty Compose Activity

3. 编写代码

代码示码

class MainActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
// 调用@Composable注解的函数
Study()
}
}
} @Composable
fun Study() {
// 设置主题
MaterialTheme {
val typography = MaterialTheme.typography
// Column:垂直堆叠元素
Column(
// 配置布局,上下左右设置16dp空隙
modifier = Modifier.padding(16.dp)
) {
// 创建图片
Image(
painter = painterResource(id = R.drawable.ic_launcher_background),
contentDescription = null,
// 配置图片
modifier = Modifier
// 高度
.height(180.dp)
// 宽度,填充布局
.fillMaxWidth()
// 圆角,Material Design
.clip(shape = RoundedCornerShape(4.dp)),
// 图片填充Column的整个宽度,并根据需要裁剪为适当的高度
contentScale = ContentScale.Crop
)
// 添加16dp高的空隙
Spacer(Modifier.height(16.dp))
// 创建Textview显示文本
Text(
"Study Android together Androidを勉強しましょう 一起学习Android吧 测试内容请忽略",
// 配置主题中的特定的式样
style = typography.h6,
// 设置文字显示的最多行数
maxLines = 2,
// 不够显示的情况下,显示...,未设置情况下会被截断
overflow = TextOverflow.Ellipsis
)
Text(
"Kotlin",
style = typography.body2
)
Text(
"Jetpack compose",
style = typography.body2
)
}
} } // 添加@Preview注解的函数,才能在Android Studio中预览
// Android Studio中以@Preview为单位提供预览
// 如果有两个@Preview函数的话,会提供两个预览,内容并不会合并在一起
@Preview
@Composable
fun DefaultPreview() {
Study()
}

显示效果

Jetpack compose初尝试的更多相关文章

  1. 高效动画实现原理-Jetpack Compose 初探索

    一.简介 Jetpack Compose是Google推出的用于构建原生界面的新Android 工具包,它可简化并加快 Android上的界面开发.Jetpack Compose是一个声明式的UI框架 ...

  2. R语言爬虫初尝试-基于RVEST包学习

    注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...

  3. SQLSERVER2012里的扩展事件初尝试(下)

    SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...

  4. SQLSERVER2012里的扩展事件初尝试(上)

    SQLSERVER2012里的扩展事件初尝试(上) SQLSERVER2012里的扩展事件初尝试(下) 周未看了这两篇文章: 扩展事件在Denali CTP3里的新UI(一) 扩展事件在Denali ...

  5. Jetpack Compose What and Why, 6个问题

    Jetpack Compose What and Why, 6个问题 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. Jetpack Compose是什么? 它是一个声明 ...

  6. Jetpack Compose和View的互操作性

    Jetpack Compose Interoperability Compose风这么大, 对于已有项目使用新技术, 难免会担心兼容性. 对于Compose来说, 至少和View的结合是无缝的. (目 ...

  7. Jetpack Compose学习(1)——从登录页开始入门

    原文地址:Jetpack Compose学习(1)--从登录页开始入门 | Stars-One的杂货小窝 Jetpack Compose UI在前几天出了1.0正式版,之前一直还在观望,终于是出了正式 ...

  8. Jetpack Compose 1.0 终于要投入使用了!

    前言 Jetpack Compose 是用于构建原生界面的「新款 Android 工具包」.2021 Google IO 大会上,Google宣布:「Jetpack Compose 1.0 即将面世」 ...

  9. Android Kotlin Jetpack Compose UI框架 完全解析

    前言 Q1的时候公司列了个培训计划,部分人作为讲师要上报培训课题.那时候刚从好几个Android项目里抽离出来,正好看到Jetpack发布了新玩意儿--Compose,我被它的快速实时打包给吸引住了, ...

  10. Android全新UI编程 - Jetpack Compose 超详细教程

    1. 简介 Jetpack Compose是在2019Google i/O大会上发布的新的库.Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速 ...

随机推荐

  1. pytest-2 之前后置及 conftest.py+fixture+yield实现用例前后置

    pytest测试用例及类级别的前置,可以和unittest一样进行定义,也可以把该前置方法或类定义到conftest.py里,而在需要前置的方法的参数里加上该前置名作为参数: pytest有两种方式来 ...

  2. 【36oj】 画圣诞树

    原题 圣诞节要到了,不少商家在宣传板上绘制了圣诞树的图案,如图所示.一棵圣诞树由A和B两部分组成: A是由n(n≥)个呈三角形的字符矩阵构成的,每个字符矩阵由三个参数ai.bi.ci唯一确定.Ai表示 ...

  3. 虚拟机中debian11修改控制台(console)分辨率|linux控制台分辨率|linux console resolution

    实体机一般安装好驱动分辨率就没啥问题,而且个人pc也没有只用控制台的需求.但是虚拟机中不安装桌面的时候,默认的控制台分辨率常不能满足需求. 这个需求貌似也比较少,而且几乎搜到的文章大部分都是旧的,不能 ...

  4. Linux 系统镜像分类和包管理工具

    查看系统版本 cat /proc/version 可以看到如下返回,Linux是RedHat系统 Linux version 4.18.0-372.9.1.el8.x86_64 (mockbuild@ ...

  5. 解决504 GATEWAY TIMEOUT Nginx网关超时

    最近遇到一个问题504 GATEWAY TIMEOUT的问题,在浏览器的NetWork里面看是这个效果.时间大概是60s. 修改nginx配置 目前后端技术架构主要是nginx和php-fpm,前端主 ...

  6. shell, 进程, 变量, 命令, 作业控制

    资料来源 (1) UNIX shell范例精解 1.什么是shell? shell的作用? (1) shell是一种特殊的程序,是用户与UNIX/Linux系统内核之间的接口; (2) shell用于 ...

  7. jdbc与Statement接口

    Statement接口引入 使用Statement接口实现添加数据操作 使用Statement接口实现更新数据操作 使用Statement接口实现删除数据操作

  8. Python——01.环境及安装

    Python介绍 -- Python是解释型,面向对象的语言,程序结构简洁,清晰 -- Python解释器分类: CPython(官方解释器):用C语言编写的Python解释器 PyPy:用Pytho ...

  9. wpf TreeView右键选中节点弹菜单

    <TreeView x:Name="CustomTreeView" Canvas.Top="1" Canvas.Bottom="1" ...

  10. .NetCore【工作应用】Unity

    Unity Unity是一个IoC容器,用来实现依赖注入(Dependency Injection,DI),减少耦合 Unity安装 install-package Unity 使用 IUnityCo ...