Jetpack compose初尝试
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初尝试的更多相关文章
- 高效动画实现原理-Jetpack Compose 初探索
一.简介 Jetpack Compose是Google推出的用于构建原生界面的新Android 工具包,它可简化并加快 Android上的界面开发.Jetpack Compose是一个声明式的UI框架 ...
- R语言爬虫初尝试-基于RVEST包学习
注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...
- SQLSERVER2012里的扩展事件初尝试(下)
SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...
- SQLSERVER2012里的扩展事件初尝试(上)
SQLSERVER2012里的扩展事件初尝试(上) SQLSERVER2012里的扩展事件初尝试(下) 周未看了这两篇文章: 扩展事件在Denali CTP3里的新UI(一) 扩展事件在Denali ...
- Jetpack Compose What and Why, 6个问题
Jetpack Compose What and Why, 6个问题 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. Jetpack Compose是什么? 它是一个声明 ...
- Jetpack Compose和View的互操作性
Jetpack Compose Interoperability Compose风这么大, 对于已有项目使用新技术, 难免会担心兼容性. 对于Compose来说, 至少和View的结合是无缝的. (目 ...
- Jetpack Compose学习(1)——从登录页开始入门
原文地址:Jetpack Compose学习(1)--从登录页开始入门 | Stars-One的杂货小窝 Jetpack Compose UI在前几天出了1.0正式版,之前一直还在观望,终于是出了正式 ...
- Jetpack Compose 1.0 终于要投入使用了!
前言 Jetpack Compose 是用于构建原生界面的「新款 Android 工具包」.2021 Google IO 大会上,Google宣布:「Jetpack Compose 1.0 即将面世」 ...
- Android Kotlin Jetpack Compose UI框架 完全解析
前言 Q1的时候公司列了个培训计划,部分人作为讲师要上报培训课题.那时候刚从好几个Android项目里抽离出来,正好看到Jetpack发布了新玩意儿--Compose,我被它的快速实时打包给吸引住了, ...
- Android全新UI编程 - Jetpack Compose 超详细教程
1. 简介 Jetpack Compose是在2019Google i/O大会上发布的新的库.Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速 ...
随机推荐
- pj_time_swap
#!/usr/bin/python# -*- coding: UTF-8 -*- import timeimport refrom datetime import datetime, timezone ...
- shell脚本变量加减
#! /bin/bash test_1=1 test_2=2 test = $(expr $test_1 - $test_2) #减法 test = $(expr $test_1 + $test_2 ...
- while循环内使用for循环
一个基础问题,while循环内使用for循环,且当for循环内有控制while循环条件时. 如下所示: bool flag = true; while(flag) { for(i=0;i<10; ...
- COOP/COHP(上)-PROOUT
晶体轨道重叠布居 COOP(crystal orbital overlap population)的一个更为直观的名称是 重叠布居权重的态密度 (overlap population-weighted ...
- UML各种图实践题
1. 用状态图描述一部电梯的运行
- Zookeeper ZAB协议-Leader&Followe 对象创建和启动源码解析
这篇博客主要是解析了Leader,Follower 对象的创建,相对来说比较简单,主要是了解一下在实例化的时候创建了哪些对象,这些对象会在数据传输的过程中发挥比较打的作用,如果有了解过的,可以直接跳过 ...
- office365启动突然提示注册表错误,无法打开“规则”配置的解决方案
感觉目前网上的资料,暂无清晰的解答,根据现象分析是outlook的原始邮件文件即psd文件中的规则相关字段存在问题,导致outlook无法打开. 因此网上的各种答疑如重装,调整注册表等等措施都是无效的 ...
- 用dig或nslookup命令查询txt解析记录
这几天想把HTTPS装上,阿里云的免费证书需要在域名解析的地方添加TXT记录.文档里用的是dig命令,我本地装了nslookup.试验下如何用咯. dig命令 dig用法很多,这里只使用dig txt ...
- HarmonyOS基础
目录 自适应布局 自适应拉伸布局 自适应缩放 自适应延伸 组件多态 ArkUI开发框架 基础组件 Text组件和Span组件 参考 参考:harmonyos3: 鸿蒙ArkUI eTS教程配套源码 参 ...
- 火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!
2022年卡塔尔世界杯的吉祥物最近在全球火出圈了,并且喜提中国网友给予的爱称"饺子皮"."馄饨皮"(官方名字:拉伊卜,意为"技艺高超的球员" ...