- 博客(14)
- 收藏
- 关注
原创 PictureSelector 2.0 Android Q 适配之旅。
PictureSelector 至从2016年12月底提交第一个版本以来时至今日总共也已提交80多个版本,经过不断的改良和适配现在也相对趋于稳定了并在Github上收获超7900个star,再这也要感谢各位同学的鼓励和提供的一些意见。由于Google Android Q正式版预计在2019年8月份前后推出,所以针对AndroidQ的适配已经迫在眉睫了,其中Android Q一项比较重要的变更就...
2020-01-08 15:37:07
11908
21
原创 关于Android VideoView导致的内存泄漏的问题
今天在用leakcanary测试项目的时候,无意中在用VideoView播放本地视频时,出现内存泄漏问题,提示是AudioManager类出现的, 后面百思不得其解,因为代码中Context没有被长生命周期的所引用,为什么还会出现泄漏呢?后面通过google才发现原来是setVideoPath()导致的,VideoView内部的AudioManager会对Activity持有一个强引用,而Audi
2017-05-02 17:33:59
4788
原创 android 当设置Activity状态栏为透明时,键盘弹出ScrollView滚动无效解决方案
final View decorView = getWindow().getDecorView();decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayou
2017-04-05 13:03:06
2377
原创 EasyIndicator tab切换指示器
Github地址一款简单的tab指示器,带平移动画效果,代码简单使用方法: app:indicator_bottom_height="" 底部指示器高度 app:indicator_bottom_line_color="" 底部线条颜色 app:indicator_bottom_line_height="" 底部线条高度
2017-04-01 23:31:00
1823
原创 android ViewTreeObserver View变化观察者
当在一个Activity或Fragment中有时我们需要获取一个控件或View的宽高来做处理,如果我们直接layout.getHeight()时 得到的值是为0,这是为什么呢?因为我们的View是呈树状型绘画的,也就是说此时可能视图并没有绘画完成,所以自然得不到View的宽高,这时我们就需要ViewTreeObserver类来监听是否绘画成功,具体看如下代码:ViewTreeObserve
2017-03-23 09:47:31
1299
原创 android的事件分发机制
我们在面试的时候经常会被问到android事件分发机制,对于这个知识点其实也不算太难,关键在于不好理解,其实总结下来就两句话:android事件分发过程:先由父类控件判断是否拦截(onInterceptTouchEvent() is true or false),拦截的话则执行该View的onTouchEvent()事件,否则则继续分发...android事件处理过程:由子
2017-02-23 20:39:07
886
原创 android图片引导页
非常简单的一个图片引导页// 设置资源文件和选中圆点contentFrameLayout.setUpViews(new int[]{ R.layout.page_tab1, R.layout.page_tab2, R.layout.page_tab3, R.layout.page
2017-02-22 17:07:56
1863
原创 关于AndroidManifest.xml 添加多个 provider节点问题
我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点provider
2017-02-10 14:23:30
22163
7
原创 关于android studio引入环信sdk3.0 easeui 出现finished with non-zero exit value 2
最近项目有用到聊天功能,所以有用到环信sdk,之前项目中也引入过环信2.0,但这次引入的是3.0的sdk,在引入easeui library进报finished with non-zero exit value 2 jar包冲突,这个问题对于大多数人来说是不陌生的,很多人对此束手无测不知道如何去排查,其实在报错最后几行是有提示的,他会告诉你是哪个jar包冲突,Error:Execution
2017-02-07 16:31:24
1109
原创 关于RecyclerView notifyItemChanged() 刷新下标错误问题
今天在项目调用RecyclerView adapter刷新数据时,用到了notifyItemChanged()方法,此方法是更新指定item数据,结果没想到弄了半天发现总是刷新不对,打印Log日志一看,发现刷新的返回的position为1,当时真是莫名其秒明明传的是对应的position为什么 adapter里返回的总是不对,后面经过看notifyItemChanged()方法的源码得知具体如下:
2017-01-22 22:28:41
9965
原创 android标题栏随着RecyclerView滚动背景渐变
最近公司项目中有一个需求是首页RecyclerView滑动时改逐渐改变透明度,因为之前做过scrollview滑动改变标题栏的功能,本以为很简单可没想到在做的过程中遇到了坑,就是RecyclerView.addOnScrollListener方法中的dy值 在滑动到一半的过程中又重置为0,导致透明度一直不对,因为我们在滑动过程中如果加载到屏幕外的item,dy值是会被重置为0的,我们只要定义一个变
2017-01-07 09:47:34
4597
原创 android多图选择
最近项目中用到多图选择上传的需求,随后百度了一下用了别人写的demo,发现在很多机型上各种不适,闪退等问题,严复影响使用,后面我自己写了一个,公司20几款手机全部通过,在腾讯云测中也使用了4,50款手机测试,没有发现问题,特分享出来。功能特点: 1.适配android7.0系统2.解决部分机型裁剪闪退问题4.解决图片过大oom闪退问题5.动态获取系统权限,避免闪退6.支持相
2017-01-04 16:10:41
8275
54
原创 android表情键盘完美解决闪动问题
在开发中,遇到一个问题:做一个微信一样,表情输入和软键盘在切换的时候,聊天界面不闪动的问题。为了解决这个问题,我们先要了解为什么会出现闪动问题,我们在弹出软键盘的时候在RootView的handleMessage的case RESIZED_REPORT: 收到具体的大小,配置App Window的大小,特别是 bottom 的大小, 最后调用requestLayout进行重绘,当弹出键盘之后a
2016-12-31 11:54:39
2094
原创 android仿ios弹框,带动画效果
项目空闲期,看到公司ios项目弹框效果觉得挺漂亮的,于是自己试着写了一下,特分享给大家,有什么不足请指出,谢谢哟。代码在githup中,欢迎starthttps://github.com/LuckSiege/CustomView
2016-12-30 23:26:24
3909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人