自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 事件分发机制

1,基础认识1.1 事件分发的对象是谁?答:点击事件(Touch事件)定义当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象1.2 事件分发的本质答:将点击事件(MotionEvent)传递到某个具体的View & 处理的整个过程即 ...

2020-06-09 20:34:18 195

原创 通过自定义LayoutManager来实现RecyclerView布局扩展

1 RecyclerView机制RecyclerView之所以性能优秀,被广泛使用,是因为他的优秀的回收复用机制,查看源代码知道,recyclerview在layoutmanager里面帮我们完成了相关操作,当我们需要自定义LayoutManager时,我们需要将不用的View回收掉;在需要获取新的View时直接申请,即通过getViewForPosition()方法,返回的View可能是之前...

2018-08-28 21:12:02 1735

原创 Android屏幕适配

一:一些概念的理解:屏幕尺寸:屏幕的对角线,如一台小米电视49寸说的就是电视对角线长度是49寸(1英寸=2.54厘米)分辨率:1920×1080指纵向1920个像素点,横向1080个像素点,1280*720同理屏幕像素密度(DPI<Dots Per Inch>):指每一英寸长度中,可显示输出的像素个数,假如一英寸里面有160个像素,这个屏幕的像素密度就是160d...

2018-07-27 11:34:37 235

原创 Paint(XforMode)

在使用Paint的时候,我们能通过使用Xfermode能够完成图像组合的效果将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形,那图具体效果见下图看到上述图形,其实这个时候我们能够很明显的知道我们的XFermode其实实际上就是在使用图形之间的相互组合以达到自己的想要的目的, 他提供了16种组合模式 (蓝色矩形表示的是...

2018-07-25 18:13:59 804

原创 获取view的宽高为0的解决办法

(1)Activity/View#onWindowFocusChangedonWindowFocusChanged这个方法的含义是:View已经初始化完毕了,宽/高已经准备好了,这个时候去获取宽/高是没有问题的。需要注意的是,onWindowFocusChanged会被调用多次,当Activity的窗口得到或者失去焦点时都会调用一次。典型代码如下:public void onWind...

2018-07-17 11:45:54 809

转载 Android Shader渲染

Shader概述Shader是绘图过程中的着色器,实现绘制各种不同的效果,比如镜像,水波纹,雷达等等,Shader有以下五个子类: - BitmapShader用于Bitmap图片的渲染 - ComposeShader用于混合渲染 - LinearGradient用于线性渲染 - RadialGradient用...

2018-07-16 10:54:11 309

原创 探索Activity启动过程

研究思路:点击APP应用图标--》APP启动--》Activity加载并完成生命周期--》Oncreat方法下setcontentview--》view绘制过程一:    android源码分析过程二:    随意点开一个APP,...

2018-07-14 22:55:40 253

原创 view的测量布局绘制

上一篇博客我们研究了最基本的android运行流程和绘制流程的调用顺序,那么我们最终得到的一个结论是activity的生命周期是有系统服务所触发,由系统服务发起handle调用到handleResumeActivity()开始绘制流程然后最终交由ViewRootImpl调用到performTraversals()然后依次之行了我们UI的实际绘制流程measure(测量),layout(布局摆放),...

2018-07-14 22:00:32 392

原创 踩坑将一个AndroidStudio项目变成一个module引入到自己的项目中

最近工作中遇到了需要将一个完整的androidstudio项目移植到自己项目中去,因为考虑到自己已经有的项目和需要引入的项目资源都很庞大,为了方便代码管理,决定将需要引入的项目作为一个module导入到自己现有项目中来。操作步骤:1,在主项目下新建一个module随意命名,然后将需要导入的项目的src,res,AndroidManifest等文件全部copy过来(这一步可能有其他更好方法),然后将...

2018-03-31 14:24:10 10122 2

ffmpeg库.rar

ffmpeg编译出来的动静态库(so和.a文件)用在android中使用,包含arm64-v8a和armev7a两种架构

2020-07-29

空空如也

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

TA关注的人

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