自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (3)
  • 收藏
  • 关注

原创 安卓camera2仿扫一扫,自定义预览拍照界面

目录一:布局展示,显示透明相机预览和非透明遮盖区域二:预览布局左移三:最终拍照得到的bitmap裁剪先上一波我的需求图:而且,拍照完,还要截取对应的位置去展示,如下:为了方便,3个界面被我整合到一个activity了,根据传入type不同,展示不同的相机预览布局,编写代码中遇到最大的问题就是:相机预览拉伸至全屏,肯定会拉伸(可以看看自带的手机相机,基本上为了保证清晰度,底部都是黑色区域做填充),因此,如何不拉伸是一个问题。还有就是,处理完拉伸后(扩大相机的预览,将部分视图

2020-07-31 17:26:54 1234 6

原创 直播间聊天item图文混排思路

目录1.版本需求a.初版本b.表情包版本2.思路剖析a.拼接格式b.生成格式的操作c.遍历所有文字,替换图片d.网络图片的替换逻辑e.本地图片的替换f.本地图片快速存储到mapg.注意先上设计图1.版本需求a.初版本一开始,不需要展示聊天表情,就偷懒用textview展示html代码,前面搞几个图片控件,后面html的文字前面整几个空格,代码如下:private String nullStrHtml = " &n

2020-06-11 11:09:48 3198

翻译 居中的ImageSpan

import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.drawable.Drawable;import android.support.annotation.NonNull;import android.text.style.ImageSpan;public class CenterAlignImageSpan ex.

2020-06-11 10:09:26 267

原创 mac关联以及取消关联svn

目录1.取消关联2.关联svn1.取消关联修改vcs.xml文件<?xml version="1.0" encoding="UTF-8"?><project version="4"><component name="VcsDirectoryMappings"><mapping directory="" vcs="svn" /&g...

2019-07-29 17:50:59 525

原创 Glide使用及源码分析

目录1.简介2.使用3.分析1)with()a.get(Context context)b.get(Activity activity)2)load()a.DrawableTypeRequest b.fromString()c.load(string)3)into()a)applyCenterCrop()b)glide.buildImageV...

2019-07-10 13:35:19 294

原创 机顶盒调试

目录1.想要Android studio监听机顶盒软件的日志记录,步骤如下:2.连接异常:3.其余命令1.想要Android studio监听机顶盒软件的日志记录,步骤如下:1)确保机顶盒和电脑处与一个局域网下2)打开机顶盒的开发者模式和调试模式3)拿到机顶盒的ip地址4)(确保adb命令可行,需要配置adb环境) 连接机顶盒命令:adb connect 192...

2019-07-04 17:37:50 2185

原创 Retrofit使用及解析(三)

目录1.Retrofit.create(接口类)1)提前验证2)动态代理部分核心1-ServiceMethod:a.讲解一:CallAdapter()b.讲解二:createResponseConverter()c:总结ServiceMethod的build()核心2-OkHttpCall :核心3-CallAdapter.adapt()2.拿到动态代理对...

2019-03-13 17:51:28 680

原创 FFmpeg常用指令

目录1. 视频1)视频转换2)视频压缩3)提取音频4)提取视频5)视频裁剪6)控制码率7)视频编码格式转换8)只提取视频ES数据9)将输入的1920x1080缩小到960x540输出:10)截取视频图像11)序列帧与视频的相互转换2.音频1)音量调节2)音频拼接3)音频截取4)音频合成-i 输入文件-acode...

2019-03-12 18:16:10 596

原创 Retrofit使用及解析(二)

目录1.代理模式1)静态代理2)动态代理-jdk方式3)动态代理-CGLIB2.retrofit源码1)Retrofit类变量2)链式调用-Retrofit.builder()3)链式调用-baseUrl()4)链式调用-addConverterFactory()5)链式调用-addCallAdapterFactory5)链式调用-build()1....

2019-03-12 18:13:01 461

原创 自定义控件-宫格图片

效果:这种布局,用RecyclerView的grid布局也可以搞定,但是阔以锻炼一波对自定义Viewgroup的子控件的测量和摆放。1.自定义属性提取&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;resources&gt; &lt;declare-styleable name="GridImageVi...

2019-03-11 15:15:21 2502

原创 自定义控件-存储搜索历史记录

目录1.效果2.分析1)attr属性提取2)自定义类代码3)添加控件至viewGroup1.效果有搜索框的地方经常可以看到这样的自定义控件,来保存搜索历史。2.分析1)attr属性提取自定义容器Viewgroup,通过容器的addView,将历史搜索记录的textview传入,容器通过layout,决定textview的摆放位置。除了需要在自定义View...

2019-03-07 18:17:01 164

转载 文章转载

1.属性动画https://www.jianshu.com/p/2412d00a0ce42.插值器https://www.jianshu.com/p/2f19fe1e3ca1

2019-03-07 17:45:37 239

原创 Android补间、逐帧动画

目录1.逐帧动画1)AnimationDrawable实现2)SurfaceView实现2.补间动画1)旋转动画2)平移动画3)渐变动画4)缩放动画5)组合动画6)动画监听1.逐帧动画1)AnimationDrawable实现一帧帧的播放动画过程的静态图片,利用的是人眼视觉暂留的原理,给用户造成“动画”的错觉。第一步:在/res/d...

2019-03-07 17:10:01 237

原创 View和SurfaceView的刷新抉择

目录1.view的刷新2.View和SurfaceView主要区别3.SurfaceView使用模板4.示例-绘制正弦函数5.根据触屏XY坐标绘制路径1.view的刷新在自定义view时候,如果要重绘View,我们会调用invalidate(),如果同时某些子控件的位置等也需要变化,我们还会调用requestLayout()。在通知控件的重绘方式上,可以选择handle...

2019-03-07 10:56:39 3508

原创 关于ondraw你该知道的(二)

目录1.变形矩阵Matrix0)简介1)主要函数2)示例3)set()、post()、pre()函数2.drawbitmapmesh像素块分析2.Shader渲染器1)图像渲染———BitmapShader2)LinearGradient——–线性渲染3)RadialGradient——–环形渲染4)SweepGradient——–扫描渲染5)Com...

2019-03-06 17:05:53 693

原创 关于ondraw你该知道的(一)

目录1.'画板'canvas2.画布canvas的操作0)canvas绘制前后,加入操作1)平移2)旋转3)截取4)画布的锁定5)图层Layer合成6)图层Layout创建和移除3.PorterDuffXfermode1)交集区域的16种处理及展示2)利用PorterDuffXfermode制作圆角图4.颜色矩阵ColorMatrix1)原理...

2019-03-06 15:00:31 1881

原创 View的一些常用函数

除了常用的3大流程,再来看看其他一些比较重要的函数1.onTouchEvent@Overridepublic boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event);}可以在自定义控件里,设置自己的触碰规则2.onFinishInflate @Override ...

2019-03-04 15:22:58 215

转载 自定义控件可用的系统工具

1.Configuration获取设备的配置信息:转:https://blog.csdn.net/james_shu/article/details/550954712.ViewConfiguration-标准常量获取XX尺寸大小,触碰或滑动一些属性值转:https://blog.csdn.net/heng615975867/article/details/80406534...

2019-02-22 12:07:10 2086

翻译 自定义控件的构造方法

目录1.自定义控件常用的三个构造方法,参数分别1和2和32.三个方法的区别主要3.总结:参考:https://blog.csdn.net/wzy_1988/article/details/496197731.自定义控件常用的三个构造方法,参数分别1和2和3public MView(Context context) {    super(context);}publ...

2019-02-22 10:04:00 501

转载 搬运Canvas/Paint

目录-------------------------------------------paint常用Api:------------------------------------------------------------------------------------------canvas-Api----------------------------------------...

2018-12-13 17:09:37 250

原创 入门Mysql数据库

目录0.数据类型1)文本2)数组3)日期1.操作数据库1)创建一个叫test的数据库2)删除一个叫test的数据库3)查看所有的数据库4)选中库,对库中表做操作前需要先选中库5)  查看库中所有表-先选中6)查看创建库的详细信息2.表操作1)创建表2)查看创建表的详细信息3)删除表4)查看表的所有字段5)修改字段类型6)添加新...

2018-11-27 14:23:42 158

原创 白鹭小游戏开发补漏

1.修改bitmap为其他图片img.texture=RES.getRes("currentmoney_png");2.Egret 利用ImageLoader加载服务器图片let self = this; let url = "http://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83erb9KD8YAjeDxh2z5yMaVxxt...

2018-11-22 17:34:33 194

原创 白鹭小例子-小白

目录1.获取屏幕宽高2.写字3.按钮4.自定义绘图5.自定义场景6.ui弹窗7.拿到点击的target控件8.层级切换9.播放音乐10.网络交互11.Tween动画12.在Sprite中创建圆13.球随手动14.展示局部控件内容15.从default.res.json中取资源16.遮罩效果---只显示遮罩形状的内容17.显示和删除...

2018-11-22 10:36:06 1177

原创 微信小游戏开发

目录知识收集:          1.资源文件导入          2.this.addChild(circle2)          3.层级关系          4.多次添加显示对象到显示列表          5.删除操作的注意点          6.容器深度相关1) 容器现容纳个数:2) 插队:3) 消除4)交换深度5)设置深度(自带容...

2018-11-21 17:08:01 1198

原创 Retrofit使用及解析(一)

目录         1.设置请求头1)方法头部定义2)拦截器配置3)动态配置2.get请求参数@Query/@QueryMap/@Path1)不变参数配置2)@Query注解3)@QueryMap4) key字段同,value有多个5) @query参数非必填6) 占位请求参数@Path3.post请求参数@Body1)@Body2)@Fo...

2018-11-12 15:19:48 1008

原创 Okhttp的连接池ConnectionPool(三)

目录1.get()方法2.put()Okhttp3使用及解析:https://mp.csdn.net/postedit/83339916okhttp系统拦截器:https://mp.csdn.net/postedit/83536609Okhttp的连接池ConnectionPool:https://mp.csdn.net/postedit/83650740 Okhttp...

2018-11-02 10:47:15 3733

原创 Okhttp的系统拦截器(二)

目录1.系统拦截器作用及执行顺序2.源码验证执行顺序3.源码验证各个拦截器的作用1)RetryAndFollowUpInterceptor2)BridgeInterceptor3)CacheInterceptor4)ConnectInterceptor5)CallServerInterceptor Okhttp3使用及解析:https://mp.csdn.n...

2018-11-02 10:20:40 191

原创 (弹窗)Attempted to add application window with unknown token Token

目录1.解决方法1(亲测)2.解决方法2(未测)自己的例子是:跳转到微信登录的界面WXEntryActivity,拿到微信的个人信息后,我调用后台接口判断这个微信账号是否注册过,没注册情况下弹窗了让用户选择是否去注册,结果WXEntryActivity页面直接finish了。所有手机都没问题,就锤子牌子手机出问题了,二话不说锤一下手机再说。这种不正常的反映,在log日志里面打印...

2018-11-01 15:35:27 1837

转载 转载常识

1.Activity的onNewIntent()方法何时会被调用?https://blog.csdn.net/calvin_zhou/article/details/519134132.Activity.isFinishing()用法。https://blog.csdn.net/sinat_30474567/article/details/534107923.重复引入Duplica...

2018-10-25 10:16:23 141

原创 Okhttp3使用及解析(一)

目录1.使用1)同步请求2)异步请求3)提交string4)提交流5)提交文件6)提交表单7)提交分块请求8)非系统拦截器2.解析执行流程1)OkHttpClient创建2)Request创建3)Call创建4)execute执行         5)enqueue执行Okhttp3使用及解析:https://mp.csdn.net/...

2018-10-25 10:10:07 1400

原创 android垃圾回收机制

目录1."垃圾的判定"1)JDK1.1 前的判定规则-引用计数算法2)目前在用的可达性分析算法2.回收算法1)标记清除算法2)复制算法3)标记整理算法4)分代回收算法3.内存优化垃圾内存不及时回收,则运行时的可用内存会越来越少,最终导致OOM(内存溢出)。而垃圾回收(GC),主要可从两个方面探讨:1.怎么判定是"垃圾"?2.怎么回收的?1."垃圾...

2018-09-20 20:58:54 3634 1

原创 线程池之ThreadPoolExecutor

目录1.ThreadPoolExecutor构造函数2.BlockingQueue workQueue参数详解3.ThreadPoolExecutor执行任务demo4.利用submit去提交任务5.自定义ThreadPoolExecutor上一篇说了多线程开发和4种常见的线程池:https://blog.csdn.net/qq_37321098/article/detai...

2018-09-20 16:40:18 347

原创 android多线程开发

目录 1.多线程开发1)多线程开发目的2)多线程开发注意点2.工作线程类型1)Thread2)intentService3)handlerThread4)AsyncTask5)线程池a、FixedTreadPool:b、CachedThreadPool:c、ScheduledThreadPool.Scheduled:d、SingleThrea...

2018-09-20 11:47:33 3026 2

转载 数据结构之List实现类

目录1.Arraylist2.LinkedList3.Vector4.Stack1.ArraylistArraylist作为常用的数据容器,还是有必要知道一些内部的细节。从线程安全方面来看,Arraylist是非线程安全,假设10个线程同时运行,往Arraylist添加100条数据,有可能出现Arraylist最终的数据总和会小于1000,所以开发中要注意,可以通过锁去解决...

2018-09-19 20:25:38 201

原创 SwipeRefreshLayout+Recyclerview的刷新加载封装

目录1.简介2.自定义的SwipeRefreshLayout1)全局变量和基础方法2)onlayout拿到RecyclerView,设置加载更多的监听3)其余的判断标准3.Activity中的使用4.xml布局使用5.适配器和单行布局1.简介当页面展示大量相同布局的数据的时候,公司的接口一般都是一页一页的去请求并拿到数据去展示,防止页面因同时加载大量数据出现...

2018-09-11 09:57:13 285

原创 自定义View的三大流程浅析

目录0.前置1.自定义View简介2.MeasureSpec1) SpecMode3.View的工作流程1) View的measure过程2)ViewGroup的measure过程3)layout流程4)draw流程0.前置上层容器负责下层子控件的测量和绘制,并传递交互事件。通常Activity界面由顶部的titleView和下方contentVie...

2018-09-07 09:38:22 1839

原创 AsyncTask使用及解析

目录 1.AsyncTask介绍1)AsyncTask抽象类的3参数2)继承AsyncTask可以实现的函数3)常用公共函数2.AsyncTask使用 1)demo1:加载单张图片2)demo2:异步加载多张图片3)取消异步任务3.注意点1)AsyncTask不与任何组件绑定生命周期2)内存泄漏3)屏幕旋转4)串行或者并行的执行异步任务4...

2018-08-16 16:29:07 16388 3

转载 子线程更新ui相关

1.Android加载view有两种方式:一是setContentView,二是inflater.inflate()2.子线程其实是可以更新ui的,需要viewRoot,ViewRoot本质是一个Handler,作用是建立View与WindowsManger的通讯。通过Windowmanager的addView可以创建viewRoot,而activity在onresume中去addView,从...

2018-08-16 10:11:13 399

原创 触摸事件/事件分发流程/滑动冲突处理

目录 1.触摸事件MotionEvent:1)主要对应3操作2)MotionEvent内部主要方法: 2.事件传递1)默认情况demo:2)Activity的dispatchTouchEvent返回true3)ViewGroup的dispatchTouchEvent返回true 4)ViewGroup的onInterc...

2018-08-15 18:12:23 705

原创 清单文件中mate-data数据共享

目录 1.在元素下配置元素1) xml代码段:2) Java代码段:2.Activity中1) xml代码段:2) Java代码段:3.在中1)xml代码段:2)Java代码段:4.在1)xml代码段: 2)Java代码段:1.在&lt;application...&gt;元素下配置&lt;mate-data...&gt;元素1) xml...

2018-08-15 15:55:41 1246

安卓camera2仿扫一扫,自定义预览拍照界面

安卓camera2仿扫一扫,自定义预览拍照界面,可自定义遮盖黑色区域,一个页面集成了多种预览布局,可以自己去调整

2020-07-31

安卓卡片轮播加载网络图片

安卓卡片轮播加载网络图片

2018-09-17

SwipeRefreshLayout封装实现刷新及加载

SwipeRefreshLayout封装+recyclerview,实现下拉刷新及上拉加载

2018-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除