![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Andoird
ikata
这个作者很懒,什么都没留下…
展开
-
RecyclerView:item点击居中效果实现
原理步骤:继承LinearSmoothScroller,重写calculateDtToFit,计算滑动的距离;calculateSpeedPerPixel,计算每个像素滑动的速度。继承LinearLayoutManager,重写smoothScrollToPosition,使用LinearSmoothScroller进行滑动。使用自定义的layoutManager,在item点击回调中,调...原创 2019-08-14 12:28:57 · 2187 阅读 · 0 评论 -
OpenGL ES:相机预览添加滤镜效果
经过前面图片添加滤镜效果的实践,相机预览无非也就是将每一帧的bitmap放到OpenGL中去渲染。所以很容易想到如下方案:方案A 使用TextureView用于相机预览,TextureView表面再盖上一层GLSurfaceView用与OpenGL ES的渲染输出,从TextureView中获取每一帧的Bitmap交给OpenGL ES渲染到GLSurfaceView上。很容易看出,方案...原创 2019-09-04 17:02:02 · 777 阅读 · 0 评论 -
Camera1、Camera2 API的使用
Camera1使用流程:检查相机权限(android.permission.CAMERA)Camera.getNumberOfCameras():获取相机硬件数量;Camera.getCameraInfo():获取指定相机信息;Camera.open():打开指定相机;camera.getParameters():获取相机参数并设置;camera.setPreviewTexture...原创 2019-09-05 16:09:02 · 3439 阅读 · 0 评论 -
Android:解决ImageView图片圆角效果与ScaleType属性冲突问题
场景:在使用ImageView的时候设定了其固定的大小,因此当图片加载上去的时候无疑需要进行中心裁剪达到所需的效果,同时还要设置其圆角大小。我们知道,我们可以直接在ImageView设置其属性 android:scaleType="centerCrop" <ImageView android:id="@+id/iv_photo" ...原创 2019-09-12 15:52:24 · 2187 阅读 · 0 评论 -
Android:ViewPager + fragment 取消预加载,实现懒加载
背景:主页三个viewpager中三个fragment同时加载,同一时刻占用的资源很大,很消耗性能,想实现用户点击的时候才加载某个页面,即懒加载。fragment中可使用setUserVisibleHint() 方法可以实现取消预加载,仅当fragment可见的时候才初始化view。但是却遇见了如下问题:如果viewpager的缓存数为1(三个页面,初始是中间页面,缓存左右俩个页面),当...原创 2019-09-13 14:44:46 · 634 阅读 · 0 评论 -
Android:属性动画
属性动画是Android 3.0加入的,为了弥补View动画的不足,但是Android 3.0以下虽然可以使用动画兼容库但是其本质依旧是View动画View动画的不足之处动画效果单一,旋转,平移,缩放影像动画,并没有改变本身的参数,需要交互式view的时候暴露缺陷作用对象局促于View上ValueAnimator 类先改变值,然后 手动赋值 给对象的属性从而实现动画;是 间接 对对象属...原创 2019-09-13 14:49:43 · 197 阅读 · 0 评论 -
Android:RecyclerView相关
关键类:Adapter:负责数据的绑定LayoutManager:负责item的布局协助RecyclerView完成OnMeasure过程通过onLayoutChildren完成对子View的布局滚动子视图滚动过程中判断何时添加View,何时回收View,也是对缓存时机的判断ItemDecoration:添加分割线,做一些装饰RecyclerView:view类,控制缓存...原创 2019-09-13 15:52:09 · 205 阅读 · 0 评论 -
Android:数据存储SharedPreferences工具类Set数据保存问题
存储Set的问题场景: 当我从SharedPreferences取出Set实例对象的时候,并且直接使用了它,进行修改,导致此后保存数据的时候后再杀掉App又从中获取的时候,取出来的数据并不是我所预期的。阅读源码发现: Note that you <em>must not</em> modify the set instance returned by thi...原创 2019-09-21 21:23:40 · 421 阅读 · 0 评论 -
Fragment:setUserVisibleHint方法和onHiddenChanged方法对比
setUserVisibleHint()适用于和ViewPager+Fragment组合使用,此方法与FragmentPagerAdapter类相关,可看如下代码: public Object instantiateItem(ViewGroup container, int position) { ... if (fragment != m...原创 2019-10-03 19:57:18 · 713 阅读 · 0 评论