kotlin
文章平均质量分 78
Vove7
这个作者很懒,什么都没留下…
展开
-
安卓无障碍API封装库: Android-Accessibility-Api (2.0)
接上篇:安卓无障碍API封装库: Android-Accessibility-Api 本次2.0更新带来了:添加SmartFinder支持多条件随意组合 搜索支持条件扩展协程支持SmartFinder 介绍1. 自定义条件搜索搜索 AccessibilityNodeInfo.isChecked 为 true 的//SF 为 SmartFinder缩写SF.where { node -> node.isChecked}.find()2. 使用封装条件搜索 id原创 2022-02-16 18:06:34 · 2218 阅读 · 0 评论 -
安卓混淆去除Kotlin @Metadata 和 @DebugMetadata
文章目录问题描述解决方法问题描述在某些Kotlin类文件编译后会留下@Metadata 注解,其中包含重要信息,导致混淆无用。解决方法在 gradle.properties 中添加:android.enableR8.fullMode=true最后效果:参考:https://stackoverflow.com/questions/46219853/how-can-i-obfuscate-my-sdk-coded-with-kotlin-and-get-rid-of-metadata..原创 2020-10-24 10:27:10 · 1828 阅读 · 0 评论 -
安卓无障碍API封装库: Android-Accessibility-Api
Android-Accessibility-ApiGithub >安卓无障碍服务Api, 为了简化无障碍服务使用,并使用 Kotlin 以提供简洁的Api。文章目录Android-Accessibility-Api基础导航视图检索提取文字视图搜索视图节点(ViewNode)全局手势示例Api文档使用引入 Android-Accessibility-Api创建你的服务基础服务手势服务额外配置合并服务基础导航查看代码//无障碍服务声明 未开启会跳转设置页面提示开启服务,并抛出异常 终止原创 2020-06-12 09:46:47 · 4598 阅读 · 10 评论 -
ExpandableListView 监听滑到顶部及滑到底部
最近使用 SpringAnimation 对 ExpandableListView 添加回弹效果。开始使用 scrollY 进行判断,无奈每次获取到的值始终为0,后采用下面这种方式: val isOnTop get() = firstVisiblePosition == 0 && getChildAt(0)?.top == top + paddingTop val isOnBottom get() = lastVisiblePosition == count - 1 &am原创 2020-06-09 15:25:36 · 763 阅读 · 1 评论 -
使用代码调出 TextView/EditText 的编辑菜单
文章目录0x0过程分析实现反射实现模拟 `TouchEvent` 实现优化模拟0x0大家都知道在输入框长按文字,会出现编辑菜单。最近遇到一个需求:代码直接调出 EditText(TextView 需要设置 setTextIsSelectable(true)) 的编辑菜单,这里我叫它 EditorActionMenu。既然通过长按可以调出,为何不直接 EditText.performLong...原创 2019-12-11 14:18:36 · 574 阅读 · 1 评论 -
高度自定义的底部对话框 - BottomDialog
JitpackGithub1. BottomDialog心水纯纯写作很久的底部对话框样式,同时在Google Play Store 也见到过此样式,不过经过多次问询,没得到想要的结果。只好自己动手实现。使用BottomSheet,支持滚动布局,同时底部布局不会因BottomSheet未显示全部内容而隐藏。目录特性DEMO简单标题文字简单列表自定义列表引入Bo...原创 2019-07-09 15:59:53 · 715 阅读 · 0 评论 -
Kotlin委托实战 - ViewBinder
GithubViewBinderkotlin委托实践。基于Delegates.observable实现,属性绑定视图,赋值即触发视图更新。一行代码完成绑定自定义绑定操作过滤条件引入ViewBinder一行代码完成绑定//通过viewIdvar num: Int by ViewBinder(0, R.id.text_view)//或者 指定viewvar num...原创 2019-07-02 10:36:51 · 560 阅读 · 0 评论 -
优雅地管理App内配置 - SmartKey
SmartKey介绍基本使用demo更多引入SmartKeyStep 1. Add it in your root build.gradle at the end of repositories:Step 2. Add the dependencyTODOThanks介绍利用Kotlin委托实现优雅地持久化存储App配置。使用一个类搞定App的配置。基本使用在Applicatio...原创 2019-04-22 16:35:19 · 267 阅读 · 0 评论 -
反射调用Kotlin类里的Companion函数
此时有个类Cclass C { companion object { fun a() { println("a") } fun b(s: String) { println("b $s")原创 2018-11-20 15:46:44 · 2491 阅读 · 9 评论