Vove

使用代码调出 TextView/EditText 的编辑菜单

0x0 大家都知道在输入框长按文字,会出现编辑菜单。最近遇到一个需求:代码直接调出 EditText(TextView 需要设置 setTextIsSelectable(true)) 的编辑菜单,这里我叫它 EditorActionMenu。 既然通过长按可以调出,为何不直接 EditText.performLongClick() 或 View.showContextMenu() 方法...

Okhttp网络封装

依赖于Kotlin的特性实现简洁的请求

还记得在进行网络请求时,先将返回内容转为 model。每一步都要判断空,每个请求。编写出的代码冗余非常高。 这里希望能利用kotlin的特性,完成代码的简化。 当然目前有众多优秀的开源库,例如:Retrofit,这里仅提供又一选择。 简单看几个例子 获取百度网页 1 2 3 4 5 6 7 8 9 10 NetHelper.get<String>("http...

优雅地管理App内配置 - SmartKey

利用Kotlin委托实现优雅地持久化存储App配置。

SmartKey 介绍 利用 Kotlin 委托实现优雅地持久化存储 App 配置。 使用一个类搞定App的配置。 基本使用 在 Application 中初始化: 1 SmartKet.init(context) 定义配置类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //...

反射调用Kotlin类里的Companion函数

支持重载、检查可空类型

支持重载、检查可空类型 此时有个类C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class C { companion object { fun a() { println("a") } fun b(s: String?) { ...

TapToView

一个用于手指短按触发,松开释放的Library。

TapToView 一个用于手指短按触发,松开释放的Library。有效解决与父级View的事件冲突 效果预览 v1.0.1 加入揭露效果 使用步骤 引用 Step 1.Add it in your root build.gradle at the end of repositories: 1 2 3 4 5 allprojects { r...