Android
文章平均质量分 85
s10g
如果你觉得我是错的,那么最好证明你是对的
展开
-
android kotlin 协程(六) 源码浅析
本篇我们阅读了 CoroutineScope#launch{}// 有receiver直接恢复协程// 有receiver创建协程,需要手动恢复// 没有receiver直接恢复协程// 没有receiver创建协程,需要手动恢复这四胞胎说实话,是真没啥用,但就是得了解一下… 看的头疼:)完整代码。原创 2023-02-27 17:37:22 · 924 阅读 · 3 评论 -
android kotlin 协程(五) suspend与continuation
通过本篇你将学会:suspend 与 continuation。原创 2023-02-23 13:56:53 · 1322 阅读 · 0 评论 -
android kotlin 协程(四) 协程间的通信
一旦某个挂起函数返回结果,原创 2023-02-20 15:18:58 · 733 阅读 · 3 评论 -
android kotlin 协程(三) 理解挂起,恢复以及job
通过上两篇的基础入门,相信大家对协程api已经有了一个基本的影响,本篇开始尝试理解挂起于恢复.本篇不涉及源码, 通过很多应用案例,来理解挂起于恢复!原创 2023-02-15 11:41:44 · 1392 阅读 · 7 评论 -
android kotlin 协程(二) 基本入门2
coroutineStart 用来控制协程调度器,以及协程的执行时机等。原创 2023-02-13 20:10:10 · 774 阅读 · 1 评论 -
android kotlin 协程(一) 简单入门
前言:最近系统的学习了一遍协程, 计划通过10篇左右blog来记录一下我对协程的理解, 从最简单的 runBlocking开始; 到最后 suspend和continuation的关系等等原创 2023-02-09 17:16:59 · 2127 阅读 · 2 评论 -
android 换肤框架搭建及使用 (3 完结篇)
activity换肤 /fragment换肤 /recyclerView换肤 / 自定义view换肤 /动态换肤 /dialog换肤 /一行代码换肤!原创 2023-01-06 19:12:13 · 1004 阅读 · 0 评论 -
android 皮肤包换肤之Resources加载(一)
看完本篇你可以学会什么?Resources在什么时候被解析并加载的drawable 如何加载出来的创建自己的Resources加载自己的资源制作皮肤包"皮肤包"加载“皮肤包”中的资源tips:源码基于阅读源码后本篇实现的效果:效果很简单,2个按钮效果很简单,重点是换肤的时候是加载“皮肤包”中的资源。原创 2022-12-29 15:44:17 · 864 阅读 · 0 评论 -
android 自定义View 视差动画
通常我们给一个view自定义属性,我们会选择在attrs.xml 中来进行,例如这样:但是很明显,这么做并不适合我们的场景,因为我们想给任何view都可以设置属性,那么我们就可以参考ConstraintLayout中的自定义属性:我们自己定义属性:并且给需要变换的view设置值app:parallaxRotate=“10” 表示在移动过程中旋转10圈app:parallaxTransformInY=“0.5” 表示入场的时候,向Y轴方向偏移 height * 0.5。...原创 2022-08-31 14:32:50 · 1194 阅读 · 0 评论 -
android 自定义View:仿QQ拖拽效果
本系列自定义View全部采用kt:mac4.1.3:1.5.0效果二是在效果一的基础上改的,可以通过一行代码,让所有控件都能实现拖拽效果!所以先来编写效果一的代码~原创 2022-08-20 16:48:31 · 1093 阅读 · 2 评论 -
android MD(七) 过度动画/共享元素,登陆实战
android MD(七) 过度动画/共享元素,登陆实战tips: 共享元素不应该是md里面的内容,但是我觉得都挺炫酷的,正好本篇也短,我就加进来了…来看看今天完成的效果图:fragment to fragmentactivity to activityview to activityview to viewnavigaitonnavigation2登陆实战效果图:登陆验证码代码很简单,没有涉及到原创 2022-05-04 21:34:12 · 985 阅读 · 2 评论 -
android MD(六) 日期选择器,时间选择器
android MD(六) 日期选择器,时间选择器先来看效果图:日期选择器时间选择器代码比较简单,都是api的调用,不想浪费大家时间了,直接上完整demo完整代码其他md文章:android MD 风格组件(MaterialButton,MaterialButtonToggleGroup,Chip,ChipGroup)大汇总(一).android MD风格组件(TextInputLayout AutoCompleteTextView MaterialButto原创 2022-05-04 20:54:40 · 964 阅读 · 0 评论 -
android kotlin扩展添加域名
android kotlin扩展添加域名?你是否常为和系统方法变量起名冲突而烦恼?你是否常为过多的方法名查找起来而而困惑?你是否常为不知道谁写出的垃圾代码而头痛?今天,给大家介绍一种添加域名的办法 , 让你的代码都添加上你的名字, 从此让你有更多的姿势来甩锅tips: 灵感来自于IOS先来看一段简单的IOS代码:objC写法://下拉刷新_tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{原创 2022-04-25 14:57:57 · 1582 阅读 · 0 评论 -
android MD 进阶[五] CoordinatorLayout 从源码到实战..
android MD进阶(五) coordinatorLayout从源码到实战前言: 上一篇:android View生命周期 介绍了view的生命周期,上上一篇:android MD进阶[四] NestedScrollView 从源码到实战…因为和本篇息息相关,没有了解过的同学可以先看看这两篇哦 ~CoordinatorLayout源码版本: 1.1.0废话不多说,先来看看今天要完成的效果:效果一效果二什么是coordinatorLayout?coordinator原创 2022-04-24 16:08:41 · 1214 阅读 · 6 评论 -
android View生命周期
android 甲骨文之 View 生命周期前言: 最近在写materialDesign系列的博客,上一篇介绍了NestedScrollView的源码分析,本来计划本篇为CoordinatorLayout源码分析,但是CoordinatorLayout涉及到了View的生命周期的知识,我又不想潦草的糊弄,所以那就穿插一篇View的生命周期吧源码基于: android-30整体流程先来看看整体流程,然后再深入源码!第一次加载:szj_TestActivity: activity onCrea原创 2022-04-20 20:37:09 · 4005 阅读 · 0 评论 -
android MD进阶[四] NestedScrollView 从源码到实战..
android MD进阶[四] NestedScrollView 从源码到实战..NestedScrollingChildNestedScrollingChild 和 NestedScrollingChild2的区别:NestedScrollingChild3 和 NestedScrollingChild2 的区别:NestedScrollingParentNestedScrollView源码分析我通过分析 NestedScrollView 能够知道那些内容:1.为什么NestedScrollView只能添原创 2022-04-10 19:39:01 · 4448 阅读 · 0 评论 -
android MotionLayout从入门到实战..
android MotionLayout一篇带你了解最新android动画布局!环境你需要知道什么使用 MotionLayout 创建动画点击动画[OnClick]多个view一起联动手指拖动 [OnSwipe]辅助工具修改路径(KeyPosition)KeyPosition配合pathMotionArc进阶改变属性状态(KeyAttribute)自行探索:KeyAttribute配合CustomAttribute设置颜色设置抖动[KeyCycle]实战环境system : macOSandroid原创 2021-12-30 18:07:05 · 4267 阅读 · 8 评论 -
android mqtt 使用踩坑与本地调试(含完整demo)
废话不多说,直接看效果!mqtt 是什么简单介绍一下,详细了解请看,这篇着重说一下mqtt的坑与本地调试!mqtt大白话一笔带过:mqtt就是一个长链接协议,基于消息主题/订阅传输,用于客户端和服务端双向通信传递的时候需要传递一个用于连接的url和端口号,格式为: "tcp://broker.emqx.io:1883"客户端连接服务器的时候需要传递一个 主题(topic) 字符串,用来向服务器发送消息服务器向客户端发送消息时候需要客户端订阅 subscribe() 服务器其他的还有一些:原创 2021-11-24 10:05:29 · 6648 阅读 · 0 评论 -
android 浅析RecyclerView回收复用机制及实战(仿探探效果)
android 浅析RecyclerView回收复用机制及实战,仿探探效果浅析RecyclerView回收复用机制四级缓存机制还是老套路,先来看看实现的效果!浅析RecyclerView回收复用机制在写这个效果之前,需要熟悉Rv的回收复用机制,因为实现这个效果,需要自定义LayoutManager()…众所周知,RecyclerView 是一个可滑动的View,那么他的回收/复用入口一定是在onTouchEvent()事件中滑动过程中响应的是MotionEvent.ACTION_MOVE事件,所原创 2021-11-06 16:35:17 · 1155 阅读 · 4 评论 -
android 图解 PhotoView,从‘百草园’到‘三味书屋’!
PhotoView,底部附 java/kotlin 版原创 2021-10-15 13:32:49 · 1486 阅读 · 0 评论 -
android 实用的小技巧(RecyclerView 数据排序 -- SortedList)
好久没写博客了,最近工作事情比较多,没有状态,今天忽然用到一个好玩的东西,拿来记录一下下~~今日完成效果图需求使用RecyclerView 的代码最后还有一些按钮的点击事件:今日完成效果图⚠️: 我的数据是这么初始化的:需求可以根据id来实现正序,以及倒叙排序添加/添加多个 也根据id来添加添加若重复 则覆盖之前的数据删除时候删除第0个位置的元素使用bean类data class SortBean( val id: Int, // 下标 val title: S原创 2021-10-09 15:07:07 · 2702 阅读 · 1 评论 -
android ‘低’仿支付宝我的应用功能!(含完整Demo)
’低‘配支付宝我的应用功能我的环境界面和需求分析代码思路最近项目需求,要求我仿造支付宝功能,写一个类似的功能,想了1天,实操2天终于搞定了!!先来看看实现的效果:效果一效果二效果三我的环境设备: macAS : gradle:4.1.3gradle: gradle-6.5-bin依赖://万能适配器 BaseQuickAdapter implementation 'com.github.CymChad:BaseRecyclerViewAdapt原创 2021-09-07 15:54:42 · 1519 阅读 · 0 评论 -
android 手写-组件化与ARouter框架!!
最近在学习APT技术,写了一个非常火的路由框架ARouter 来看看代码思路吧!!底部有完整代码哦!我的环境项目介绍我的环境硬件: macgradle: 6.5-binas版本gradle:4.1.3项目结构:同一个颜色表示同一“等级”组件化特性:在测试环境下,各个模块独立,可以单独运行在正式环境下,可以调用到各个模块的代码!ARouter特性:可以使单独模块互相不依赖并且可以实现通信!例如 my 模块和find模块并没有相互的依赖,使用ARouter框架就可以互相调用原创 2021-08-31 17:47:19 · 624 阅读 · 4 评论 -
android ViewPager 进阶(仿画廊/图书翻页) 与 palette 使用 (含完整Demo)
android ViewPager 仿画廊/图书翻页 与 palette 使用普通ViewPager实现ViewPager.PageTransformer仿图书效果palette 调色板废话不多说,先来看看完成的效果!总结实现效果:ViewPager 实现无限自动播放ViewPager 实现中间大,两边小 [仿画廊效果]ViewPager 实现图片叠加[仿图书翻页效果]palette 调色板实现识别图片颜色,随着图片的变化来改变背景色的变化普通ViewPager实现先不管三七二十一,原创 2021-08-25 20:17:33 · 1370 阅读 · 9 评论 -
android 注解和反射 (入门以及使用)
先来看一看今天的效果:代码效果:效果不重要,重要的是代码:注解官方解释:从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。百度百科定义一个注解:public @interface SZJ{}元注解:元注解是用来标示当前注解是干什么用的,什么时候用,常用的有2个@TargetE原创 2021-08-16 14:05:41 · 954 阅读 · 0 评论 -
Android 渐变的‘TabLayout’ , (含免费( java / kotlin) Demo)
⚠️ : 本篇‘由简入奢’,全是干货!绘制文字先来看看完成的效果:简单解释: 在滑动的过程中,渐变文字会随着ViewPager的滑动而变化!!绘制文字先来看看最初版代码:public class GradualChangeTv extends AppCompatTextView { public Paint mPaint = new Paint(); public final String text = "android 超级兵"; public GradualCh原创 2021-08-11 20:48:23 · 1705 阅读 · 3 评论 -
Android Agentweb三方 WebView 完成与 H5 的混合开发(一)
Android Agentweb三方 WebView 完成与 H5 的混合开发步入正题打开百度页面与 html 混合开发先来看今天完成的效果图:图中的曲线图是 html写的,今天要完成的任务是采用三方的 WebView 完成Android 与 H5 的混合交互步入正题简单操作我就不说了,百度一下全长得一样,我就随便贴一个参考文档了参考文档导入依赖:implementation ‘com.just.agentweb:agentweb-androidx:4.1.4’添加必要权限: &l原创 2021-05-20 15:08:10 · 1655 阅读 · 4 评论 -
Android 文字抖一抖,手机震一震!
文字抖一抖res下定义 anim 文件在 anim 文件中定义动画shake.xml<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXDelta="10" android:fromYDelta="0" androi原创 2021-05-19 17:23:24 · 509 阅读 · 3 评论 -
Android 快捷方式(ShortCut)
Android 快捷方式ShortCut快捷方式介绍快捷方式使用历史上的今天:(2021/4/8):1996年4月8日 黎巴嫩与以色列发生军事冲突 1996年4月8日黎巴嫩南部平民被以色列地雷炸伤,引发两国严重军事冲突。 4月9日,黎巴嫩真主党游击队凌晨向以色列北部发射了两枚火箭,作为报复,但随即招致以军以黎南部的报复性炮击。 11—12日,以色列对黎巴嫩南部、贝卡谷地以及贝鲁特南郊的黎真主党基地进行大规模空袭,这是1982年黎巴嫩战争以来以色列首次空袭贝鲁特,造成20人死亡,50多人受伤原创 2021-04-08 16:10:19 · 1133 阅读 · 1 评论 -
Android Toolbar配合menu使用详解
Android Toolbar配合menu使用详解Toolbar使用普通menu使用上下文menu使用:PopupMenu菜单:历史上的今天(2021.3.5):1898年3月5日,周恩来生于江苏淮安,早年留学日本。1919年在天津参加“五·四”运动。(1976年1月8日周恩来逝世。)Toolbar使用注意:需要更改为Theme.AppCompat.Light.NoActionBar 布局使用:<androidx.appcompat.widget.Toolbar原创 2021-03-05 19:52:21 · 4178 阅读 · 0 评论 -
AndroidX Toolbar与状态栏重叠/状态栏修改颜色
Android Toolbar与状态栏重叠/状态栏修改颜色AndroidX Toolbar与状态栏重叠修改状态栏颜色:历史上的今天(2021/3/4):1951年3月4日 第一届亚洲运动会开幕 1951年3月4日至10日,由亚洲奥林匹克理事务主办的首届亚洲运动会在印度新德里举行。参赛的有阿富汗、缅甸、锡兰(现斯里兰卡)、印度尼西亚、伊朗、日本、尼泊尔、菲律宾、新加坡、泰国、印度等11个国家,运动员489名(其中女选手31名)。 比赛项目有田径、游泳、举重、自行车、篮球和足球,共59枚金牌。原创 2021-03-04 11:00:36 · 751 阅读 · 1 评论 -
AndroidX 集成BLE蓝牙大坑
AndroidX 集成BLE蓝牙大坑在集成BLE(低功耗蓝牙)时,会扫描不到附近设备网上很多都是加一些权限之类的,很容易搜到,我遇到的是因为版本太高所以无法扫描附近设备我看这里版本号报红,手贱改成30,之后就扫描不到附近设备了!!!这个版本号一定不能是30 我这里是25可以扫描到附近设备Android 蓝牙4.0(BLE) Demo如果本篇对您有所帮助,记得点个赞哦~...原创 2021-01-29 16:59:14 · 284 阅读 · 0 评论 -
java 设计模式之备忘录模式(十八)
java 设计模式之备忘录模式①⑧定义角色分析使用场景代码实现(经典案例一)代码实现(经典案例二)撑不住的时候,可以对自己说声“我好累”,但永远不要在心里承认说“我不行”。不要在最该奋斗的年纪选择了安逸。没什么好说的,一无所有就是奋斗的理由,我们试着长大,一路跌跌撞撞,然后遍体鳞伤,总有一天,你会站在最亮的地方,活成自己曾经渴望的模样。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/25定义在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这原创 2021-01-25 12:24:13 · 307 阅读 · 0 评论 -
Android 开机动画(依赖插件)
Android 开机动画,依赖插件依赖:使用自定义动画自定义属性能够岿然不动,坚持正见,度过难关的人是不多的。——雨果依赖: //开机动画implementation 'site.gemus:openingstartanimation:1.0.0'使用 private OpeningStartAnimation openingStartAnimation; openingStartAnimation = new OpeningStartAnimation.Builder(this)原创 2021-01-23 17:29:48 · 468 阅读 · 1 评论 -
Android 官方数据绑定框架:DataBinding(AndroidX学习)
Android 官方数据绑定框架:DataBinding,AndroidX学习什么是DataBinding,为了解决什么问题?导入基本使用:引用数据类型其他类型使用点击事件Fragment绑定数据RecyclerView绑定数据设置图片获取当前时间不是每个人都能成为,自己想要的样子,但每个人,都可以努力,成为自己想要的样子。相信自己,你能作茧自缚,就能破茧成蝶。什么是DataBinding,为了解决什么问题?DataBinding是Android推出的一款数据绑定框架,为了解决 Activity原创 2021-01-22 16:31:57 · 1433 阅读 · 1 评论 -
Android 百分比布局(支持AndroidX)
Android 百分比布局添加依赖代码使用添加依赖implementation ‘com.android.support:percent:25.2.0’我的项目是AndroidX的,依然用这个依赖哦~代码使用<androidx.percentlayout.widget.PercentFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.and原创 2021-01-21 15:29:16 · 4056 阅读 · 0 评论 -
Android 好用插件 / 实用依赖(暂停更新)
Android Drawable Preview下载插件方式 :file -> Settings -> Pulgins -> Android Drawable Preview使用插件之前图片是这样的:使用之后:可以看出,图片在左边显示出来了,这样方便了大家在不点击图片的情况下查看图片~...原创 2021-01-21 14:56:03 · 1823 阅读 · 7 评论 -
Android 万能适配器BaseQuickAdapter操作及免费源码
Android 万能适配器BaseQuickAdapter操作及免费源码简介导入依赖简单使用添加头尾布局添加空布局点击事件滑动动画自定义动画上拉加载更多下拉刷新预加载再大的伤痛,睡一觉就把它忘了,背着昨天追赶明天,会累坏了每一个当下。烦恼不过夜,健忘才幸福。真正能让你倒下的,不是对手,而是自己内心的绝望。时间可以愈合一颗破碎的心,也许只有夜晚一床温暖的棉被和一个好梦,才可以慰藉每天有太多不如意的我们。简介BaseQuickAdapter是为了配合RecyclerView使用的适配器可以添加头部原创 2021-01-18 20:42:00 · 3215 阅读 · 0 评论 -
Android 如何改变应用图标
Android 如何改变应用图标ISO和android应用图标新建项目开始适配更换默认图标更换为字母更换引应用图标背景色设置对应版本图标这世间就是忍一口气,风平浪静,退一步海阔天空;忍,万事都能消除。忍就是会处理会化解,用智慧能力让大事化小小事化无。有喜有悲才是人生,有苦有甜才是生活。再大的伤痛,睡一觉就把它忘了,老是背着昨天,会累坏了自己。边走边忘,才能好好感受到每一个幸福。ISO和android应用图标IOS图:Android图(1.1):(华为10.0)Android图(1.2):(原创 2021-01-12 17:33:42 · 8558 阅读 · 3 评论 -
Android 贝塞尔曲线获取运动轨迹
BezierUtil辅助类package demo.ht.com.utils;import android.graphics.PointF;public class BezierUtil { /** * 二阶贝塞尔曲线B(t) = (1 - t)^2 * P0 + 2t * (1 - t) * P1 + t^2 * P2, t ∈ [0,1] * * @param t 曲线长度比例 * @param p0 起始点 * @param .原创 2020-12-04 15:19:22 · 736 阅读 · 0 评论