- 博客(10)
- 收藏
- 关注
原创 超级简单RecycleViewAdapter的封装-支持多视图,多点击回调
其实RecycleView已经出来很长时间了,对RecycleView的用法网上也有很多教程了。本篇文章不讲解RecycleView的用法,不讲解LayoutManager的用法也不讲解ItemDecoration的用法,我们只关注Adapter的用法以及如何封装成一个通用的AdapterAdapter的正常使用方法其实很简单,只需要继承RecyclerView.Adapter传入范型类型为View
2016-08-09 18:22:49 682
原创 android按钮图片和文本居中的代码-你躺枪了吗
最近优化项目代码时,发现一个比较诡异的现象:每当界面进入ActivityA时,cpu在不断的消耗,内存在不断的缓慢增长(虽然每次增长的量非常小)。如下图:最后经过仔细排查发现是由别的组成员自定义view造成的,这个自定义view代码如下: RightDrawableButton.javapublic class RightDrawableButton extends Button { ..
2016-07-24 20:32:10 1369
原创 android自定义9宫格图片视图
类似微信朋友圈中的图片展示大家肯定很熟悉了,这篇文章讲述的自定义View就是类似这个展示方式的View了。先看效果图: 展示规则:1,如果只有1张图片,则图片宽度占父控件总宽度的2/3(图片高度和宽度相同) 2,如果超出1张图片(不为4张的情况),则按照每行3列的方式排列图片 3,如果正好有4张图片,则用2*2的方式排列,如图: 图片之间的间隙可以在布局文件中进行调整实现思路:实现自定义
2016-07-15 04:13:47 3961
原创 开源android-crop裁剪库的bug并修复
最近项目中使用了开源裁剪库android-crop,使用过程中遇到了三星手机拍照后裁剪的bug,上官方github里看issues发现果真还是有开发者同样遇到这个问题的。bug描述如下: 用手机拍照(保持竖屏)后进入裁剪界面,裁剪完后的图片是旋转90度的,但是在裁剪预览界面中看的是正常的。最好到官方github去clone原始项目,运行其中的example程序体验下。先看修复前bug截图:
2016-07-05 20:27:36 2101
原创 android应用版本更新策略
开发中对版本进行检查并更新的需求基本是所有应用必须有的功能,可是在实际开发中有些朋友就容易忽略一些细节。版本更新的基本流程:一般是将本地版本告诉服务器,服务器经过相关处理会返回客户端相关信息,告诉客户端需不需要更新,如果需要更新是强制更新还是非强制更新。客户端得到服务器返回的相关信息后再进一步做逻辑处理。强制更新:一般的处理就是进入应用就弹窗通知用户有版本更新,弹窗可以没有取消按钮并不能取消。这样用
2016-06-28 08:28:59 2121
原创 android图片压缩上传系列-service篇
本篇文章是继续上篇android图片压缩上传系列-基础篇文章的续篇。主要目的是:通过Service来执行图片压缩任务来讨论如何使用Service,如何处理任务量大的并发问题。了解下Service大家都知道如果有费时任务,这时需要将任务放到后台线程中执行,如果对操作的结果需要通过ui展示还需要在任务完成后通知前台更新。当然对于这种情况,大家也可以在Activity中启动线程,在线程中通过Handler
2016-05-31 10:38:30 5258 2
原创 android图片压缩上传系列-基础篇
想必大家对android处理拍照并保存照片的应用场景已经再熟悉不过了,其中比较头疼的问题是像部分三星手机拍完照片后保存的图片是旋转90度后的图片(当然,如果横向拍照是没有问题的)。本篇文章目的不是简单解决旋转问题,而是通过这样的问题讨论下android内存占用(主要是图片)的问题。通过文章大家可以掌握如下知识: 1. 如何解决上面提到的三星拍照问题 2. 如何计算bitmap占用的内存大小 3
2016-05-25 11:43:42 841
原创 android处理拍照旋转问题及带来的对内存占用的思考
想必大家对android处理拍照并保存照片的应用场景已经再熟悉不过了,其中比较头疼的问题是像部分三星手机拍完照片后保存的图片是旋转90度后的图片(当然,如果横向拍照是没有问题的)。 本篇文章目的不是简单解决旋转问题,而是通过这样的问题讨论下android内存占用(主要是图片)的问题。通过文章大家可以掌握如下知识: 1. 如何解决上面提到的三星拍照问题 2. 如何计算bitmap占用的
2016-05-25 10:49:35 432
原创 对android:screenOrientation及android:configChanges的思考
对屏幕旋转而引发的Activity重新创建的问题想必所有从事android开发的人来说再熟悉不过了,大家可以通过测试来了解这整个过程。比如我的测试过程如下: 1. 新建BaseAcitivity作为父类(方便添加测试类) BaseAcitivity.java public class BaseAcitivity extends AppCompatActivity { prot
2016-05-18 20:47:14 401
原创 从源码分析IntentService
不管学什么知识点最好从其基本用法开始,然后在深入到源码层学习会比较容易理解源码带给我们的思想。所以咱们先来看看IntentService的基本用法。其实很简单,遵守一定的套路就可以 1. 继承IntentService并生成构造方法通过super()来完成父类的基本初始化操作 2. 重写父类的onHandleIntent方法并执行需要完成的后台任务操作(上传文件等) 3. 重写onDestro
2016-05-16 02:01:18 521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人