
android
Samlss
https://github.com/samlss
展开
-
Android Paint系列之滤镜效果
图像结构我们首先了解一下图像的构成,例如一张PNG图片: 图片文件头由位固定的字节来描述的,以便向外说明这个文件是一个PNG文件。十进制数137 80 78 71 13 10 26 10十六进制数89 50 4E 47 0D 0A 1A 0A用UE打开一个PNG文件的内容为: 可以看到都为十六进制的数据,我们不知道这些数据是什么,假定第一行的数据是这个PNG的标志,第...原创 2018-06-23 10:38:43 · 1079 阅读 · 0 评论 -
Android 自定义View之下雨动画
文章目录效果思路画云画雨点优化效果思路画云画雨点优化原创 2018-10-12 11:30:43 · 1238 阅读 · 2 评论 -
Android 自定义View之烧瓶loading动画
文章目录我们首先看下效果画瓶子画水位画水泡优化我们首先看下效果画瓶子首先,创建一个自定义view,我们知道,在view的大小发生改变后,会回调接口 /** * This is called during layout when the size of this view has changed. If * you were just added to the vie...原创 2018-10-09 19:27:22 · 1228 阅读 · 0 评论 -
Android 自定义View之咖啡杯动画
文章目录效果画杯子画杯垫画烟雾效果大概思路自定义view,直接继承view复写onSizeChanged()方法,在此计算杯垫,杯子,烟雾效果的path在onDraw()方法中,描绘杯垫,杯子处理烟雾动画效果画杯子这里需要画两部分内容,第一部分是杯子,第二部分是杯耳(提手的地方)我们可以使用addRoundRect来描绘圆角矩形,并且可指定每个圆角的半径即圆角的程度/*...原创 2018-10-10 15:40:36 · 723 阅读 · 0 评论 -
Android 一个调用方便的高亮引导库
Github地址支持使用:安卓原生布局(例如RelativeLayout, FragmentLayout)RecyclerView & ListView & GridView & ScrollViewViewPagerDialogFragment功能:可一次显示单个或多个高亮的view描绘高亮view时可设置自定义画笔原创 2018-10-31 17:54:21 · 977 阅读 · 0 评论 -
Android弹窗式菜单,支持多行可滚动的子菜单
效果图先呈上功能支持多行可滚动的子菜单菜单显示和消失动画Header和Footer菜单item的出场动画和点击动画需要使用Builder来构建菜单对象,以下是一个使用示例:TimoMenu timoMenu = new TimoMenu.Builder() .setGravity(Gravity.BOTTOM) .setMenuBackgr...原创 2018-11-06 15:36:29 · 338 阅读 · 0 评论 -
Android 显示view的粒子爆炸/绽放效果
文章目录照例先上图这个库做了什么?功能形状圆形矩形星型什么是形状分发器?关于自定义形状分发器和形状自定义分发器自定义形状效果器功能点描述锚点速度缩放倾斜旋转加速度淡出监听器照例先上图这个库做了什么?它可以以粒子的形式显示任何view的粒子动画效果,你可以下载来查看效果功能支持任何view可灵活配置粒子大小和形状可灵活配置粒子动画形状在该库中,支持三种粒子形状圆形矩...原创 2018-12-14 23:18:38 · 658 阅读 · 2 评论 -
Android view的预加载占位效果
在预加载时显示view的占位符效果截图默认效果:自定义动画效果:在RecyclerView使用钉钉考勤依赖Gradle将其添加到你的module的build.gradle中:dependencies { implementation 'me.samlss:broccoli:1.0.0'}Maven<dependency> ...原创 2018-12-17 10:25:45 · 4277 阅读 · 1 评论 -
JDK 1.8 LinkedHashMap 源码分析
由于其源码并不是很长,直接贴出来:可以看到LinkedHashMap继承自HashMap,同时实现map接口最新JDK 1.8 HashMap的数据结构为数组+链表+红黑树。LinkedHashMap基于HashMap的数据结构,新增了一条双向链表HashMap是无序的,而LinkedHashMap就弥补了该缺点,默认为插入顺序,即最后插入的key-value会加到双向链表的尾部...原创 2019-04-10 11:40:22 · 611 阅读 · 0 评论 -
JDK 1.8 HashMap 源码分析(一)
空闲时间,根了一下最新HashMap源码,这里记录一下。如有错漏,请指正。构造函数://默认构造函数,默认初始容量为16 ,默认加载因子为0.75public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; }//指定初始容量的构造函数,默认加载因子为0.75public HashMap(int initialCapaci...原创 2019-04-09 16:21:24 · 178 阅读 · 0 评论 -
JDK 1.8 HashMap 源码分析(二)
空闲时间,根了一下最新HashMap源码,这里记录一下。如有错漏,请指正。get相关函数//根据key获取valuepublic V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), key)) == null ? null : e.value;}//判断是否包含某个keypubli...原创 2019-04-09 16:21:51 · 198 阅读 · 0 评论 -
Linux Nginx + RTMP 服务器环境搭建
配置测试服务器配置阿里云服务器Ubuntu 16.04 64位1 vCPU 2 GB1Mbps使用XShell连接服务器Nginx下载下载地址 :http://nginx.org/download/服务器下载Nginx:wget http://nginx.org/download/nginx-1.15.3.tar.gz下载完成后解压:tar xvf nginx-1.1...原创 2018-09-26 10:41:35 · 916 阅读 · 0 评论 -
Android 关于XmlResourceParser
我们先看看XmlResourceParser 类:/** * The XML parsing interface returned for an XML resource. This is a standard * XmlPullParser interface, as well as an extended AttributeSet interface and * an additi...原创 2018-08-01 17:25:15 · 3320 阅读 · 1 评论 -
Android密钥库系统KeyStore
1.什么是密钥库系统?利用 Android 密钥库系统,您可以在容器中存储加密密钥,从而提高从设备中提取密钥的难度。在密钥进入密钥库后,可以将它们用于加密操作,而密钥材料仍不可导出。此外,它提供了密钥使用的时间和方式限制措施,例如要求进行用户身份验证才能使用密钥,或者限制为只能在某些加密模式中使用。密钥库系统并不是让程序直接进行存储程序的私密信息的,比如说用户账号密码,其提供了一个密钥安全...原创 2018-06-23 10:43:45 · 8342 阅读 · 5 评论 -
Android 加密算法归纳
专业术语(摘自百度百科)密钥:分为加密密钥和解密密钥。 明文:没有进行加密,能够直接代表原文含义的信息。 密文:经过加密处理处理之后,隐藏原文含义的信息。 加密:将明文转换成密文的实施过程。 解密:将密文转换成明文的实施过程。基本简介密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期...原创 2018-06-23 10:46:43 · 919 阅读 · 0 评论 -
Android模仿今日头条搜索页
手闲,模拟今日头条写了个搜索页基本功能1.显示推荐词栏top:绑定推荐词top数据,使用RecyclerView显示;2.显示历史记录:绑定历史记录数据,使用RecyclerView显示;3.显示推荐词栏bottom:绑定推荐词bottom数据,使用RecyclerView显示;4.删除历史纪录;5.隐藏和现实推荐词栏;示例1:显示推荐词栏top+历史纪录(不显示全部)...原创 2018-06-23 10:48:13 · 2349 阅读 · 0 评论 -
Android版本问题记录:Android 8.0下异常Only fullscreen opaque activities can request orientation
在Android8.0环境下,如果一个Activity在Manifest中设置了方向(横,竖屏),即android:screenOrientation=”landscape”/”portrait”,并且指定的android:theme中使用的style带有透明属性<item name="android:windowIsTranslucent">true</item>...原创 2018-06-24 14:18:38 · 1643 阅读 · 0 评论 -
Android Paint系列之Xfermode + 刮刮卡效果实现
Xfermode我们现在针对源码来分析一波:paint.setXfermode(Xfermode xfermode); 接口里面主要为赋值操作,会将xfermode安装到paint中,设置或者清除传输模式对象(即xfermode),传输模式定义源像素(通过绘图命令生成)如何与目标像素(渲染目标的内容)进行合成,若设置为null,则会清除任何先前的传输模式。 为了方便,传递的...原创 2018-06-25 19:14:56 · 805 阅读 · 0 评论 -
Android 自定义View系列之PathMeasure+Loading效果+小车跑道移动效果
PathMeasure详解源码分析函数PathMeasure详解源码分析要理解一件事物,我们要观其外,也要观其内,因此我们这里先看看PathMeasure的源码,先知其然,PathMeasure源码的内容不多,只有一百多行,因此这里将其贴了出来:package android.graphics;public class PathMeasure { ...原创 2018-07-01 19:46:44 · 1511 阅读 · 0 评论 -
Android Paint系列基础+着色器渲染器(实现霓虹灯文字+实现圆形头像+放大镜+倒影+雷达扫描效果)
11原创 2018-06-26 23:57:44 · 1422 阅读 · 0 评论 -
Android 自定义View系列之贝塞尔曲线+QQ未读消息拖拽效果实现+水波浪充电效果
贝塞尔曲线定义线性公式二次方公式三次方公式公式说明理解贝塞尔曲线定义贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的...原创 2018-07-04 16:20:18 · 1543 阅读 · 2 评论 -
Android 撇弃图片bitmap,手写一些有趣的View
将手写一系列有趣的LoadingView,会持续更新。 如果你有有趣的想法,可以联系我,一起研究。ChargingView: A simple charging viewPacmanLoadingView: A pacman loading viewPinBallLoadingView: A pin ball loading viewPeasLoadi...原创 2018-07-24 18:00:59 · 1041 阅读 · 2 评论 -
Android 手写动画框架
我们先来看看效果图: 根据ScrollView或者HorizontalScrollView中的滑动距离而设置对应的子view的动画效果。原创 2018-08-05 17:11:18 · 487 阅读 · 0 评论 -
SparseArray源码分析
SparseArray源码分析SparseArray(稀疏数组)是什么?类似于map,可以储存key-value键值对,与HashMap不同因为其key只能是整型int而且内部存储结构是数组(最新HashMap存储结构为红黑树+链表+数组);为android的工具类,用于优化HashMap<Integer, V>这种情况。由于其内部使用数组来存储key和value,且数组内容可...原创 2019-04-28 23:14:27 · 411 阅读 · 0 评论