Android
文章平均质量分 89
Android学习
guodongAndroid
始于Android,不止于Android
展开
-
Kotlin-KCP的应用-修改SDK版本号
背景在 SDK 开发中,一般会暴露获取 SDK 版本号的接口,获取的版本号一般为 String 类型,比如:// sdk接口interface Sdk { fun getVersion(): String}// sdk调用方sdk.getVersion()上述方式可以通过在 gradle.properties 中配置版本号,然后在 build.gradle 中读取版本号生成至 BuildConfig.java 中,例如:// gradle.propertiesVERSION=1原创 2022-05-23 21:17:30 · 962 阅读 · 0 评论 -
Java并发编程-Android的UI框架为什么是单线程的
前言众所周知,Android 会在 ViewRootImpl 中调用 checkThread 方法检测是否是在 UI 线程中更新 UI// ViewRootImpl.javafinal Thread mThread;public ViewRootImpl(Context context, Display display) { mThread = Thread.currentThread();}void checkThread() { if (mThread != Threa原创 2022-05-18 09:59:40 · 221 阅读 · 0 评论 -
Kotlin-KCP的应用-第二篇
前言接Kotlin-KCP的应用-第一篇,本文是第二篇,以下是本文的目标:记录如何简单搭建 KCP 开发环境使用 KCP 解决第一篇中的问题何为KCP?为何不使用KSP?KSPKSP 即 Kotlin Symbol Processing(Kotlin符号处理器),KSP 目前只能生成代码,不能修改字节码,第一篇中的问题需要修改字节码,因此 KSP 不能满足需求KCPKCP 即 Kotlin Compiler Plugin(Kotlin编译器插件),在 kotlinc 过程中提供 hoo原创 2022-05-12 14:35:46 · 745 阅读 · 0 评论 -
Kotlin-KCP的应用-第一篇
前言KCP的应用计划分两篇,本文是第一篇本文主要记录从发现问题到使用KCP解决问题的折腾过程,下一篇记录KCP的应用背景Kotlin 号称百分百兼容 Java ,所以在 Kotlin 中一些修饰符,比如 internal ,在编译后放在纯 Java 的项目中使用(没有Kotlin环境),Java 仍然可以访问被 internal 修饰的类、方法、字段等在使用 Kotlin 开发过程中需要对外提供 SDK 包,在 SDK 中有一些 API 不想被外部调用,并且已经添加了 internal 修饰,但是原创 2022-05-08 14:39:35 · 1149 阅读 · 0 评论 -
Android-TextView跑马灯探秘
前言自定义View实现的跑马灯一直没有实现类似 Android TextView 的跑马灯首尾相接的效果,所以一直想看看Android TextView 的跑马灯是如何实现本文主要探秘 Android TextView 的跑马灯实现原理及实现自下往上效果的跑马灯探秘TextView#onDraw原生 Android TextView 如何设置开启跑马灯效果,此处不再描述View 的绘制都在 onDraw 方法中,这里直接查看 TextView#onDraw() 方法,删减一些不关心的代码pro原创 2022-05-07 09:01:20 · 697 阅读 · 0 评论 -
AndroidStudio中使用Aliyun Maven
转载请注明出处 http://blog.csdn.net/guodongAndroid/article/details/74598095 本文来自【孫小逗的博客】AndroidStudio中使用Aliyun MavenAliyun Maven地址:http://maven.aliyun.com在项目级别的build.gradle中添加如下Maven地址:buildscript {原创 2017-07-06 19:18:36 · 3860 阅读 · 0 评论 -
使用秒级编译方案-Freeline
转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/54174776 本文来自【孫小逗的博客】使用秒级编译方案-Freeline一、关于FreelineFreeline是蚂蚁金服旗下开发的一个基于动态替换的编译方案,运用到项目后可以极大的提高项目编译速度。相比较现在的instant-run,buck,layoutcas原创 2017-01-07 15:37:34 · 1150 阅读 · 0 评论 -
View滑动冲突的两种解决方式
View滑动冲突的两种解决方式1、外部拦截法所谓外部拦截法是指点击事件都先经过父容器的拦截处理,如果父容器需要此事件就拦截,如果不需要此事件就不拦截,这样就可以解决滑动冲突问题,这种方法比较符合点击事件的分发机制。外部拦截法需要重写父容器的onInterceptTouchEvent方法,在内部做相应的拦截即可,这种方法的伪代码如下所示: @Override public boolean原创 2016-09-13 22:21:59 · 802 阅读 · 0 评论 -
Android事件分发、拦截与处理的理解
转载请注明出处 http://blog.csdn.net/guodongAndroid/article/details/51727272 本文来自【孫小逗的博客】一、概述昨天,某位黑同学问了个很奇葩的问题:禁止ViewPager的左右滑动。好吧,被问到的一瞬间就想是不是他傻X。ViewPager不滑动,干嘛还要用ViewPager,唉,无语。无语归无语,事情还是要干的。随手给他写了个自原创 2016-06-21 14:48:47 · 1387 阅读 · 0 评论 -
Android中关于scrollBy的一点点心得
转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/51558131 本文来自【孫小逗的博客】一、概述最近对自定义View和动画进行了研究学习,同时之前不太明白的地方也豁然开朗。学习不是一下子就学会的,不懂的地方,在后续的学习过程中会慢慢的理解,有种拨云见日的感觉。 scrollBy(int dx, int dy)主原创 2016-06-01 18:37:55 · 3023 阅读 · 0 评论 -
记Android Studio自定义属性访问不了的问题
一、概述在Eclipse中对于自定义属性的引用是在根布局文件中声明一个命名空间,比如:xmlns:xxx=“http://schemas.android.com/apk/res/项目包名”。其中xxx是自己定义的,项目包名就是Manifest文件中的package。而在Android Studio中声明命名控件和在Eclipse中类似,例如:xmlns:wzq=”http://schemas.and原创 2016-05-30 10:30:38 · 2718 阅读 · 0 评论 -
仿IOS版QQ水滴下拉刷新,添加上拉加载、左滑删除
1、概述哈,对于我这样的菜鸟来说,看着大神们的博客总想啥子时候自己也能写博客啊。别说你不知道有哪些大神?好吧,比如,我一直关注的鸿神,还有让我买了第一本Android书籍的郭大侠。好了,就说这些吧。效果如下:2、整合前面已经说了,像我这样学了不到1年Android的菜鸟哪会写这么高大上的控件啊。菜鸟就得站在巨人的肩膀上的飞啊。言过正传,其实看到这个效果大家肯定不陌生,其实这是两个控件的结合体,哪两个原创 2016-05-27 14:26:29 · 3214 阅读 · 2 评论