草庐IT

Jetpack Compose过渡 - 监听Acitvity生命周期

事情是这样的本人学习Compose有两周多了,目前已经着手重构项目上的UI,因为项目体积庞大,要把所有Activity段时间内替换成只有一个Compose的方式肯定不现实,目前就从替换xml布局开始。说实话,用了这么久的View,感觉有些坑挺多,View从反射到绘制需要的时间还是挺长的,经常会遇到因为绘制延迟导致的各式各样的问题,遂决定逐步迁移到Compose上面来。使用场景搜索全网,各式各样Compose相关的文章很多,也很详细,根据现有的资料,很难查到关于Activity声明周期监听的文章,因为大多数人都是使用单个Activity+Navigation的形式。举个例子,在某些场景下,当用户

用 Compose 做了个开源的轻量级的 Notion 客户端 NotionLight,现已上架 Google Play。

迫于Notion的客户端比较慢,而且操作路径有点长,如果想当做快速笔记或者TODO来用还是不太够。正好前段时间因为疫情在家待了三个月没出门,打算学学Compose,所以顺便:)用Notion的API卷了个简单快速的客户端出来。既然是当做快速笔记以及TODO来用,那内容的组织形式就是按照列表来的,会把Notion中的每个能被识别的内容块映射成列表中一个条目展开显示。每个Notion页面对应NotionLight中的一个TAB。授权后自己选择将Notion中的对应的页面添加进来。目前支持对内容快的添加、修改及删除操作,也支持AndroidShortcut快速添加内容,可以说非常快速了。主要技术栈:

Compose组件下对Modifier中padding的理解

Compose组件下对Modifier中padding的理解前言开发原生安卓对padding的理解相信对一个成熟的android开发者是非常熟悉的,但是在申明式UI的大背景下,padding却没有了原有的意思,取而代之的只留白的思想,所以本文对Modifier下的padding进行一下分析理解问题的引出首先看下面两段代码:代码一:Text(text="这是一个textView",textAlign=TextAlign.Center,fontFamily=FontFamily.Cursive,modifier=Modifier.wrapContentWidth().wrapContentHeig

Compose组件下对Modifier中padding的理解

Compose组件下对Modifier中padding的理解前言开发原生安卓对padding的理解相信对一个成熟的android开发者是非常熟悉的,但是在申明式UI的大背景下,padding却没有了原有的意思,取而代之的只留白的思想,所以本文对Modifier下的padding进行一下分析理解问题的引出首先看下面两段代码:代码一:Text(text="这是一个textView",textAlign=TextAlign.Center,fontFamily=FontFamily.Cursive,modifier=Modifier.wrapContentWidth().wrapContentHeig

【Android 进阶】完美插件化实现,compose 开发动态加载

插件化.jpghttps://juejin.cn/post/6973888932572315678https://zhaomenghuan.js.org/blog/android-plugin-framework-proxy-hook.htmlhttps://juejin.cn/post/7028196921143459870前言温度爬升,蚊虫也开始猖狂了起来。燥热的空气里,穿梭着几只置身死于度外的飞虫,全然没有在意我这个执掌着生死的巨人,让人钦佩。一直在小公司徘徊,在小团队里面摸爬滚打。面试中往往会被面试官对于一些平时用不到的技能细致追问,想要跳高只能开始学习工作中用不到的技能,不然就会陷入

【Android 进阶】完美插件化实现,compose 开发动态加载

插件化.jpghttps://juejin.cn/post/6973888932572315678https://zhaomenghuan.js.org/blog/android-plugin-framework-proxy-hook.htmlhttps://juejin.cn/post/7028196921143459870前言温度爬升,蚊虫也开始猖狂了起来。燥热的空气里,穿梭着几只置身死于度外的飞虫,全然没有在意我这个执掌着生死的巨人,让人钦佩。一直在小公司徘徊,在小团队里面摸爬滚打。面试中往往会被面试官对于一些平时用不到的技能细致追问,想要跳高只能开始学习工作中用不到的技能,不然就会陷入

Jetpack-Compose 学习笔记(六)—— Compose 主题 Theme 一探究竟,换肤还能如此 Easy & Silky?

断更一时爽,一直断更一直爽~哈哈哈,就当给自己放了个长假吧。最近的行情太糟了,身边有同学已经被毕业,两个多月终于降薪找到下家···这里呼吁大家一定要存好六个月没有工作还能正常生活的银子,以备不时之需!希望疫情能早日平息,经济可以快速恢复吧~自己也没想到这个系列可以到第六篇,断更确实很久了,居然还收到了小伙伴的催更,感谢你们的不离不弃。闲话少说,我们这次要介绍的是Compose主题,那么Compose主题Theme到底有什么?用Compose实现换肤简单吗?一起来看看吧!JetpackCompose的主题Theme就是一套UI风格,其中包括字体、字号、色值等等,类比于AndroidView体系中

Jetpack-Compose 学习笔记(六)—— Compose 主题 Theme 一探究竟,换肤还能如此 Easy & Silky?

断更一时爽,一直断更一直爽~哈哈哈,就当给自己放了个长假吧。最近的行情太糟了,身边有同学已经被毕业,两个多月终于降薪找到下家···这里呼吁大家一定要存好六个月没有工作还能正常生活的银子,以备不时之需!希望疫情能早日平息,经济可以快速恢复吧~自己也没想到这个系列可以到第六篇,断更确实很久了,居然还收到了小伙伴的催更,感谢你们的不离不弃。闲话少说,我们这次要介绍的是Compose主题,那么Compose主题Theme到底有什么?用Compose实现换肤简单吗?一起来看看吧!JetpackCompose的主题Theme就是一套UI风格,其中包括字体、字号、色值等等,类比于AndroidView体系中

用Jetpack+Compose写个简单的界面

一、前言    compose的出现,预示着Android原生端也迈向了声明式界面的开发模式,Android传统的开发方式是界面在XML里编写,然后在Activity里findViewById拿到视图节点进行更新数据,而compose颠覆了这种做法,且不止于此。    我写了个简单的入门demo,请求一个接口,然后用compose组件展示数据,想看看jetpack搭配上compose会擦出什么样的火花。二、实践1、接口请求接口来源:每日诗词接口使用:1.获取token保存本地(永久有效)2.后续请求header带上token以下是viewModel的代码:classMainViewModel(

用Jetpack+Compose写个简单的界面

一、前言    compose的出现,预示着Android原生端也迈向了声明式界面的开发模式,Android传统的开发方式是界面在XML里编写,然后在Activity里findViewById拿到视图节点进行更新数据,而compose颠覆了这种做法,且不止于此。    我写了个简单的入门demo,请求一个接口,然后用compose组件展示数据,想看看jetpack搭配上compose会擦出什么样的火花。二、实践1、接口请求接口来源:每日诗词接口使用:1.获取token保存本地(永久有效)2.后续请求header带上token以下是viewModel的代码:classMainViewModel(