仿糯米首页菜单左右滑动效果
来源:互联网 发布:淘宝商品sku设置规则 编辑:程序博客网 时间:2024/05/16 18:45
水平滑动控件用RecyclerView,水平滚动到指定位置用其smoothScrollToPosition(position)方法。但是这个缓慢滑动的速度有些快,想要变慢一些是没有原生方法的。
从smoothScrollToPosition的源代码中知道,滚动效果其实是调用了LayoutManager的smoothScrollToPosition(RecyclerView recyclerView, State state,int position)方法,于是写了一个LayoutManager的实现类来控制移动每个像素上花费的时间。
class ScrollSpeedLinearLayoutManger(context: Context) : LinearLayoutManager(context) { private var mSpead = 4f override fun smoothScrollToPosition(recyclerView: RecyclerView, state: RecyclerView.State, position: Int) { startSmoothScroll(object : LinearSmoothScroller(recyclerView.context) { override fun computeScrollVectorForPosition(targetPosition: Int): PointF { return this@ScrollSpeedLinearLayoutManger.computeScrollVectorForPosition(targetPosition) } override fun calculateSpeedPerPixel(displayMetrics: DisplayMetrics): Float { return mSpead / displayMetrics.density } }.apply { targetPosition = position }) } fun setSpead(spead: Float) { mSpead = spead }}
然后在对RecyclerView设置滑动效果时调用下面的方法,即实现了糯米中提示有其余菜单的动画提示效果
public void scrollListview(int position) { recyclerView.smoothScrollToPosition(position); recyclerView.postDelayed(new Runnable() { @Override public void run() { recyclerView.smoothScrollToPosition(0); } }, 700); }
参考文章http://blog.csdn.net/a86261566/article/details/50906456
阅读全文
0 0
- 仿糯米首页菜单左右滑动效果
- 仿163首页的广告收缩效果/菜单滑动/进度条
- iOS (UIButton封装)仿糯米首页缩放“按钮”效果
- 仿path首页滑动效果
- Android高仿QQ左右滑动菜单的效果实现方式之安卓菜单左右滑动效果实现方式
- 仿QQ5.3.1左右滑动效果实现
- 仿QQ列表左右滑动效果
- 仿Google首页分类菜单效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Android实现导航菜单左右滑动效果
- Transaction 概念
- C# WebService首次调用慢
- android gradle 优化构建系统
- JSP中properties文件的路径问题
- 关于JavaScript闭包/匿名函数,以及垃圾回收算法的小结
- 仿糯米首页菜单左右滑动效果
- java通过html转pdf
- 【面经笔记】虚函数表指针个数
- Java HashMap的工作原理
- (转)poj3083Children of the Candy Corn(BFS+DFS)
- [Zabbix] Proxy 安装
- js获取当前月的第一天和最后一天
- docker安装教程及常用指令(centos7下)
- zabbix3.2.7添加MySQL监控-02