- 博客(8)
- 收藏
- 关注
原创 解决RecyclerView Item自定义View onDraw卡顿的方法
最近实现了一个功能,是在列表Item中绘制自定义控件,刚开始就觉得单单做这个功能非常简单,但是最后优化好的时候觉得绕了一大圈,因此记录一下。 Item的内容大致如下,还有一些别的数据,这个图不是实现内容。 刚开始是用一个for循环去drawPath去绘制一段段折线图和下面的着色区域,好了,这样是可以实现了,但是上下滑动复用view冲洗你绘制的时候...
2018-09-07 10:24:40 1925
原创 Android 使用FragmentPagerAdapter懒加载时的坑
Fragment+ViewPager的方式相信大家经常使用了,但是也有不少的问题。首先就是如果Fragment经常销毁再创建,那样在左右切换的时候界面会显得非常卡顿。 所以我设置setOffscreenPageLimit(count-1),Fragment在add一次后,不再add和remove。 但是一次加载所有的Fragment,尤其当Frag...
2018-07-20 16:14:38 1962
转载 RecyclerView Item中用ViewPager的一点小坑
使用ViewPager作为RecyclerView的head来当广告是经常使用的了,这么频繁的设计我以为应该坑都被踩遍了,那天自测发现居然还有坑。 需求是在列表的第一项需要有一个轮询的广告,每隔多久就自动切换一下。 我第一反应当然是添加OnPageChangeListener来监听滑动状态,重写onPageScrollStateChanged方法在滑动停下来的时候,把最后一张和第一...
2018-06-04 16:32:05 2650 1
原创 Android DialogFragment弹出动画的一点小坑
DialogFragment我相信还是有不少人去使用,但是有一种场景用的人不一定很多。 就是假设基于MainActivity从下往上滑出一个DialogFragment,在我们与DialogFragment交互去另一个(假设是OtherActivity)界面的时候,此时从OtherActivity返回到MainActivity,会再执行一次滑出DialogFragment的行为,这显然不是我...
2018-05-28 16:32:00 8859
原创 Android拦截的一点其他理解
相信大家看过很多事件分发拦截的机制了,很多原理就不再多说了,说点不同的吧,那就是拦截的重点只是拦截下来不再给子View了,但是这里与父View的交互还需要再处理的。 来写个Demo试试吧,比较简单,就是父ViewGroup包了一个子View。@Override public boolean onInterceptTouchEvent(MotionEvent arg0...
2018-05-02 11:58:07 436
原创 左滑删除按钮的新思路
在看了gouyuhua2008的高仿微信对话列表滑动删除效果后,记录下大致的思路。大概一年半以前有不少app加入了列表项左滑删除的功能,个人觉得这个功能很不错,就试着去写个demo实现了一下。回忆了一下当时实现的过程,步骤主要有三:1.重写ListView的拦截事件,在move处判断是左右移动,上下移动,还是点击范围内的移动。判断是上下移动就拦截,否则不拦截,让ItemView去处理事
2016-05-31 16:02:21 520
转载 Android如何绘制视图,解释了为何onMeasure有时要调用多次
当Activity获取焦点的时候,它就需要绘制布局。Android框架会处理绘制过程,但这个Activity必须提供它布局树的根节点。 绘制过程是从布局的根节点开始的。这个过程需要测量和绘制布局树。绘制过程是通过遍历树和渲染每个与绘制区域相交的视图来处理的。接下来,ViewGroup职责就是请求它的每个子视图都会绘制(使用draw()方法),同时View的职责就是绘制自
2015-03-11 11:04:31 553
转载 final关键字的作用
1.修饰类:修饰类的时候无法被子类继承。2.修饰方法:“使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。“ 因此,如果只有在想明确禁止 该方
2015-03-06 09:09:14 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人