
Kotlin
angcyo
没有一跃而成的成就, 只有慢慢积累的菜鸟.
展开
-
Android--›kotlin入门实战文档(待更新)
Android Studio(简称AS)环境配置要在as中, 使用kotlin开发app, 需要的一些环境.AS需要安装kotlin插件(高版本(3.0+)AS默认已经安装了插件)在Moudle中使用apply plugin: 'kotlin-android'插件在Moudle中加入api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_...原创 2019-12-06 16:22:17 · 392 阅读 · 0 评论 -
Android--›最万能的TabLayout(不仅仅是TabLayout)
DslTabLayout♥️ Android界最万能的TabLayout(不仅仅是TabLayout) 特性支持任意类型的child视图.支持任意类型Drawable的指示器.支持智能开启横向滚动.支持高凸模式, 允许某个child高出一节显示.支持滑动选择模式, 滑动的时候智能选择上一个或下一个.点击查看全部属性效果一个DSLTabLayout可实现以下3中效果...原创 2019-12-03 17:48:58 · 1642 阅读 · 5 评论 -
Kotlin--›Kotlin时代的Adapter(Android 一个话时代的DslAdapter(多类型,情感图,加载更多,多选,群组等))
DslAdapterDsl 的形式使用 RecyclerView.Adapter, 支持情感图状态切换, 加载更多, 多类型Item等所有Item继承自DslAdapterItem即可在DslAdapter中使用.特性1.全网最轻量的多类型Item实现方法2.支持情感图状态(空布局 加载中 错误异常等)切换 完美支持自定义扩展3.支持加载更多 完美支持自定义扩展即将支持 分组...原创 2019-10-17 18:58:59 · 1032 阅读 · 0 评论 -
Kotlin--›Kotlin语法入门文档
一 类型映射Java typeKotlin typebytekotlin.Byteshortkotlin.Shortintkotlin.Intlongkotlin.Longcharkotlin.Charfloatkotlin.Floatdoublekotlin.Doublebooleankotlin.Boolean...原创 2018-12-11 11:21:40 · 378 阅读 · 0 评论 -
Kotlin--›Android 超轻量RecyclerView悬停效果(ItemDecoration实现方式,并带touch点击事件)
逼格特性:使用ItemDecoration 实现支持悬浮时的 touch事件, 以及Drawable的状态效果同样支持子View超简单的使用方式, 只需要告诉她, 什么位置,需要什么悬停xml即可.自绘分割线通常需要重写以下方法: override fun onDrawOver(canvas: Canvas, parent: RecyclerView, state: Rec...原创 2019-05-09 17:46:28 · 1843 阅读 · 0 评论 -
Kotlin--›Android 超轻,超好用,超简洁,超超超级RecyclerView分割线ItemDecoration封装
需求分析如图所示的:101(共2人) 这一行, 顶部有 一块白色区域, 可以当做是分割线101(共2人) 这一行, 底部有一个很细的分割线, 差不多撑满了一行人物信息 这一行, 首次出现时, 只有底部有分割线, 而且还是 非撑满一行的效果人物信息 这一行, 最后出现时, 底部没有分割线不出意外, 很多同学的实现方式, 都是在 布局的xml中, 用padding maring ...原创 2019-05-11 13:38:27 · 813 阅读 · 0 评论 -
Kotlin--›Android 极致体验,图片转场动画(类似微信/QQ图片查看效果, 带拖拽返回, 高扩展, 支持任意类型界面过渡)
砖厂地址群内有各(pian)种(ni)各(jin)样(qun)的大佬,等你来撩.联系作者点此快速加群请使用QQ扫码加群, 小伙伴们都在等着你哦!关注我的公众号, 每天都能一起玩耍哦!...原创 2019-05-17 10:42:48 · 974 阅读 · 0 评论 -
Kotlin--›Android 一行代码监听程序APP切换至后台(判断程序是否在后台运行)
object RBackground { const val CREATE = "onActivityCreated" const val STARTED = "onActivityStarted" const val RESUMED = "onActivityResumed" const val PAUSED = "onActivityPaused" c...原创 2019-07-17 11:17:14 · 1153 阅读 · 0 评论 -
Kotlin--›Android Activity/Fragment转场动画极简使用方法
Activity之间共享元素实现的转场动画, 需要API>=21才支持.但是 转场动画 在 support包里面提供了支持. 所以没有API 21的限制.可以参考Transition转场动画的文章: https://blog.youkuaiyun.com/angcyo/article/details/90288786Activity共享元素步骤1启动新的 Activity 时, 指定 op...原创 2019-08-13 19:19:16 · 1066 阅读 · 0 评论 -
Kotlin--›Android RecyclerView滚动处理(滚动到底部/顶部/居中/偏移/动画等特性)
之前写过一篇Android–>RecyclerView 显示底部,滚动底部(无动画)文章.当时是为了满足需求, 没想太多顺手写的. 虽然功能上能满足, 但是代码上还是有点low.这几天, 我的徒弟傻豆 在写一个IM项目, 需要滚动到底部. 于是我重写了一个ScrollHelper滚动操作类.文章目录特性需求分析1.滚动, 滚动偏移, 滚动动画2. 滚动到顶部, 底部, 居中3.锁定滚动...原创 2019-09-30 13:19:10 · 2138 阅读 · 0 评论 -
Android--›模仿QQ7.0底部导航效果(kotlin版)
来一波效果图有没有一种蠢蠢欲动的想法? 反正我已经动了.分析一波 1:选中状态, 和未选中状态显示的图片不一样. 这个简单:一个Boolean成员变量控制. 2:当手指360°滑动的时候,图片会跟随移动.这个就是核心了, 需要计算手指距离图片中心的角度, 然后计算出偏移的dx,dy值. 3:细心的你, 可能已经发现了, 笑脸其实并不是相对滚动的, 是有滚动差的. 这个可以在步骤2计算原创 2017-06-06 13:37:41 · 2977 阅读 · 1 评论 -
Kotlin--›初识Android Proxy接口动态代理
接口的动态代理, 使用这个技术最多的就是Retrofit框架了.首先要注意: 动态代理只能代理接口,也就是interface声明的类否则会抛异常:Caused by: java.lang.IllegalArgumentException: com.angcyo.proxydemo.Target is not an interface at java.lang.refle...原创 2018-08-03 16:00:37 · 1590 阅读 · 0 评论 -
Kotlin-->自定义评分控件RatingBar
首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" android:layout_height="wrap_content"wrap_content match_parent 这2个属性, 来确定测量自身的大小. 当然, 这2个值, 只是parent告诉你,原创 2017-09-19 10:58:16 · 1237 阅读 · 0 评论 -
Kotlin-->范围选择进度条, 双向SeekBar
首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" android:layout_height="wrap_content"wrap_content match_parent 这2个属性, 来确定测量自身的大小. 当然, 这2个值, 只是parent告诉你,原创 2017-09-19 11:11:59 · 1989 阅读 · 0 评论 -
Kotlin-->模仿QQ发送图片进度效果
效果图:效果分析 1. 带圆角的布局.(Canvas的clipPath方法实现, 不在本文介绍) 2. 蒙层(绘制一个有透明度的黑色) 3. 进度百分比(Canvas的drawText, 难点就是控制绘制的x和y坐标) 4. 白色进度圆圈(本文介绍,难点1) 5. 最外层是具有一定透明度的白色进度圆圈(实现方法和4一致)在Android中, 要绘制 圆柱形圆圈 , 及其不容易. 有同学可原创 2017-11-21 09:45:31 · 854 阅读 · 6 评论 -
Kotlin--›Android 超高模仿QQ7.5 侧滑菜单
效果图: 特性模仿全屏可视区域滑动检测 (菜单关闭和打开状态, 都支持)内容区域滑动过程中自带阴影遮罩菜单打开状态, 点击阴影区域自动关闭滑动过程中, 视差效果可以嵌套在其他具有滚动特性的View中实现方法如果使用 ViewDragHelper 那么局限性会很多, 所以这里我采用了最原始的TouchEvent控制.以下代码, 只贴部分片段, 详细请下载源码首先...原创 2018-04-04 10:33:55 · 739 阅读 · 0 评论 -
Kotlin--›如何实现一个自己的自定义TabLayout(附Touch事件分发)
前言你能学到啥?自定义View的基础知识ViewGroup中Child View的测量布局控制Touch事件的传递,拦截和处理draw和OnDraw方法的区别OverScroller的使用GestureDetector的使用ViewGroup中setWillNotDraw方法的作用Canvas的使用方法(自绘的核心类)需求分析TabLayout的...原创 2018-07-21 13:24:03 · 981 阅读 · 2 评论 -
Kotlin--›Android 自定义实现支付密码数字键盘
你能学到什么kotlin的使用, 扩展特性的写法等自定义ViewGroup的一些基础知识xml属性的编写和读取 因为每个按键都考虑到需要支持背景设置等其他个性设置和Touch手势的处理, 所以我决定采用 每个按键 对应一个View的思路实现. 否则可以使用Canvas.drawText实现 这样可以提高扩展性和可自定义性1.根据效果图先定义按键//首先定...原创 2018-07-20 16:12:40 · 767 阅读 · 0 评论 -
Kotlin--›IPC跨进程通信之Messager(双向通信)
Android跨进程通信有很多种方式, 具体的大家百度一下就知道了. AIDL就是其中一种;本文介绍AIDL系统轻量封装Messager的使用.官网文档:https://developer.android.google.cn/guide/components/bound-services邀请您先阅读涉及到的类 类名 作用 Service 进程载体...原创 2018-07-30 17:21:28 · 910 阅读 · 0 评论 -
Kotlin--›IPC跨进程通信之AIDL(双向通信)
上一篇文章介绍了 IPC跨进程通信之Messager(双向通信)Messenger是系统对aidl一个轻量封装, 方便使用, 但是有一定局限性.本文介绍直接介绍aidl的使用, 让跨进程通信就跟本地调用一样爽.准备定义调用接口创建相应的自定义数据Bean 用系统自带的菜单, 创建AIDL文件, 并写上自己的接口定义. 你也可以直接创建File后缀名为aidl,...原创 2018-07-31 13:37:06 · 785 阅读 · 0 评论 -
Kotlin-->Kotlin 和 Java 类型映射
Java type Kotlin type byte kotlin.Byte short kotlin.Short int kotlin.Int long kotlin.Long char kotlin.Char float kotlin.Float double kotlin.Double boolean kotlin.Boolea原创 2017-05-25 09:00:26 · 1579 阅读 · 0 评论