前言
今年年初接触回答页面改版,由之前的左右滑动回答改为上下滑动回答,由于当时回答页的代码太过于庞大,所以第一次改版复用了之前的 UI 框架,外层 ViewPager + Fragment,内层是 WebView 嵌套 Hybrid 页面。
问题出现了,WebView 可以滚动的时候,会持有整个 Touch 事件流程,导致当 webView 拖拽到底部,手指不脱离屏幕继续拖拽的时候,无法将当前的拖拽操作给翻页器,产生体验上的割裂感。
接下来就是 UI 交互优化的历程
今年年初接触回答页面改版,由之前的左右滑动回答改为上下滑动回答,由于当时回答页的代码太过于庞大,所以第一次改版复用了之前的 UI 框架,外层 ViewPager + Fragment,内层是 WebView 嵌套 Hybrid 页面。
问题出现了,WebView 可以滚动的时候,会持有整个 Touch 事件流程,导致当 webView 拖拽到底部,手指不脱离屏幕继续拖拽的时候,无法将当前的拖拽操作给翻页器,产生体验上的割裂感。
接下来就是 UI 交互优化的历程
起因,随着业务的开展,我们的Feed列表有时会增加好多的卡片类型,而过多的卡片就会引发过多的 ViewHolder,ViewType 造成Adapter路基冗杂。那么本篇博客就是基于这个问题做的Adapter 扩展。
好久没写博客了,到新公司差不多一个月了,之前做Android TV 开发,现在开始做手机端了,写手机端App 或许是一个很久的执念吧。
就最近的页面需求,好好研究了一下ViewGroup,RecyclerView 的绘制,这里打算立个flag,记一下自己踩的坑。
先立个自己的思路:
这里再提议嘴,一般我们处理一个view的UI交互,动效,最好来封装控件,从我们的mvp,mvvm等等模式里抽离动画,交互的具体代码!!!!!!!
最近碰到一个需求,如视频所示:
毕业从事Android TV 开发一年了,这一年萦绕着我,挥之不去的就是焦点逻辑,TV 区别于手机的UI交互区别,应该就是focus事件与touch事件了,而国内关于Android TV的盘子还不如手机端踩得多,那么今天打算总结一下焦点的几个疑惑。这里我会分焦点搜索,焦点丢失来谈谈。踩踩盘子。
5月份项目上线了,之后就在优化项目结构,减少依赖。之前项目一直用的EventBus来作为项目事件流的框架,这两天偶然看到RxBus这个东西,基于RxJava和RxAndroid,考虑到自身的业务需求,由于本身用EventBus的功能比较单一,而发现RxBus足以实现我现有的业务,所以决定踩踩坑。
开发中的卡顿我想没跟人都遇到过,之前也是搜博客看看怎么个解决办法,没有认真研究过,今天我打算跟大家聊一聊。
先从View 说吧。相信大家应该都知道View的绘制过程,measure,layout,draw。丢帧一定是在16ms内没有把这些事儿干完就对了,这里我们简单的分一下,主要是计算时间,以及绘图时间。
最近刚来我司,开始入手公司的项目,MVP,RxJava,Dagger2搭建的框架。对于我这个刚没多长时间的Android菜鸟,着实花了一段时间,说点儿题外话,最近研究了Java8,已经开始由命令式编程过度到函数式编程了,尤其是加了Lambda表达式,配起来RxJava的切换线程,异步操作爽呆了。
至于MVP,开始我是只知道MVC,但在看我司的项目架构的时候发现有差别,后来在简书上看到一个博主,醍醐灌顶,明白了MVP其实跟MVC是不一样的,就单单Model来说,在MVC中只是我们的一些javaBean,而在MVP它涉及到数据的来龙去脉,数据是来自内存,硬盘,还是网络。已经数据将会怎样存储都包含其中,至于MV的不同,请大家看MVP。
接下来就是这篇博客的重点了,Dagger2,相信大家都或多或少用过或者听说过。让大家津津乐道的就是它的依赖注入,之前有瞭解过依赖注入,知道他最大的好处是解藕,大学时候没好好研究,今天我想说一下我的心得。