kotlin
文章平均质量分 83
夜尽天明89
Android开发工程师
展开
-
Android权限相关(检查、申请、回调)
最近要整理个老项目,权限那块需要改,就回顾了下权限相关的,在此整理下。这里用到的是 permissionsdispatcher下面是简单的使用,详细的去看1、先检查下 build.gradle 中是否有apply plugin: "kotlin-kapt"这句话,没有的话再顶部加上;2、添加依赖implementation "org.permissionsdispatcher:permissionsdispatcher:4.5.0"kapt "org.permissionsdispatch原创 2022-02-14 10:28:37 · 2932 阅读 · 0 评论 -
自定义圆环(扇形)绘制
这个圆环是静态的,没有自动增加的动画绘制并不复杂,有些细节点容易搞错,这里写出来,算是做个笔记。先放出源码,细节点,后面会说明。建议看后面的说明。最后,会进行扩展,绘制扇形需求/功能说明:1、假设一个班级里有 X 个人,班级里的学习有的篮球、有的足球、有的书法、有的绘画,还有的,什么都没学2、圆环绘制的起点,是圆环顶部,逆时针依次绘制效果图:代码:import android.content.Contextimport android.graphics.Canvasimport an原创 2021-04-28 11:37:51 · 1628 阅读 · 0 评论 -
网络框架封装(retrofit2+rxjava2+okhttp3)
项目地址后面的 项目说明 ,请仔细看。如果自己的项目有需要扩展的,也好知道去哪里改写在前面:项目中隐去了所有接口、有效参数,如果要验证,请自己找合适的接口验证改封装支持的功能有:1、接口请求;2、addHeader相关;3、请求接口的参数获取(并排序),便于处理(如:加密,和后台校验)4、接口相关日志打印为了方便使用,直接写成 library ,复制拿走就行引用 library ,注意2个地方:1、app中的gradle,dependencies 中添加//netlib 是我网络封装的原创 2021-04-07 21:03:50 · 672 阅读 · 1 评论 -
handler笔记(sendXX、postXX、延迟处理)
关于handler的post、延迟消息这2个点有点忘记了。这两天重看了下handler源码,学习笔记总结下之前写过一篇,handler源码分析这里只说下架 post、延迟消息。测试代码很简单:(Kotlin) private var mHandler = object : Handler() { override fun handleMessage(msg: Message?) { super.handleMessage(msg)原创 2021-04-06 10:41:49 · 480 阅读 · 0 评论 -
基于属性动画,实现 咔嚓截屏(收藏)动画
写在前面:这里的截屏,其实不是真正意义上的截屏。而是把数据先设置到一些控件上,让控件做透明度、缩小、位移等动画。只是看起来像截屏。为了方便描述,下面还是采用截屏这种说法。需求:做一个咔嚓截屏收藏功能。点击“按钮”后,把屏幕截屏,然后把截下来的内容,做缩小、透明度、位移等动画,飞到按钮上。因为代码简单,就没放到GitHub上,直接全部放出来了。复制了就能用。代码中已经有一些注释了,但是有一些地方因为简单的文字描述不清除,需要在博客中详细说。先来2张简单的效果图注意最后的说明。注意最后的说明。原创 2021-02-01 21:16:07 · 537 阅读 · 2 评论 -
安卓加载展示PDF文件(腾讯X5内核(TbsReaderView)+PDFView)
最近项目要求加载、展示PDF文件,因为之前项目中已经有X5浏览器了,用X5内核加载PDF文件也简单,就很快写完。但是没想到,测试出来几个坑。这里总结整理下。PDFView 的GitHub 地址https://github.com/barteksc/AndroidPdfViewerX5内核(TbsReaderView)+PDFView 实现PDF的加载,已经成功,并应用到项目中了我的测试用PDF文件,找了3个:几百K、几兆、18M全部源代码我会放在后面(关于项目包名的,我都去掉了,复制的时候,用原创 2020-10-22 11:04:38 · 8142 阅读 · 6 评论 -
GradientDrawable的使用,和简单源码分析
gradient:英 [ˈgreidjənt] 美 [ˈgredɪənt] 倾斜度,坡度,变化率从字面意思理解,是一个可以变化颜色、有渐变效果的DrawableGradientDrawable extends Drawable来个效果图和对应的代码。并不复杂对应代码(布局我就不写了,没有任何特别的) //圆角矩形。TextView rounded_rectangle.apply { var gradientDrawable: GradientDra原创 2020-07-27 18:25:05 · 660 阅读 · 0 评论 -
kotlin中使用Room数据库
最近在kotlin环境下,写了一个room数据库的demo,各种情况跑了一下,在此总结一下。涉及情况:增、删、改、查、排序1、环境搭建1.1、Android Studio下,新建一个kotlin项目,1.2、去app的build.gradle中进行一些配置顶部增加apply plugin: 'kotlin-kapt'然后defaultConfig { .........原创 2019-05-31 17:10:46 · 13157 阅读 · 7 评论 -
基于SpannableString匹配单词
最近接到个需求,在一段英文中,将给定的单词高亮。写了近1天,考虑了各种情况,终于写完了对应算法。我将其封装成一个:MySpanTextView源码在下面,直接复制,拿到项目中用就行。集成自普通TextView,仅仅对文字匹配做了修改,其他属性不变。复制代码,可以直接用需求:给定一段英文,和某些关键字,在英文中,将关键字高亮。要求:将给定的关键字视为独立的单词,当其出现在其他单词内时,不可以高...原创 2019-08-01 15:30:39 · 244 阅读 · 0 评论