怎么在Android中通过自定义View实现一个抽屉效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Android 自定义View实现抽屉效果
说明
- 这个自定义View,没有处理好多点触摸问题
- View跟着手指移动,没有采用传统的scrollBy方法,而是通过不停地重新布局子View的方式,来使得子View产生滚动效果menuView.layout(menuLeft, 0, menuLeft + menuWidth, menuHeight);
- 相应的,由于没有使用scrollBy方法,就没有产生getScrollX值,所以不能通过Scroller的startScroll方法来完成手指离开后的平滑滚动效果,而是使用了Animation动画的applyTransformation方法来完成插值,从而实现动画效果
主要算法是:动画当前值=起始值+(目标值-起始值)*interpolatedTime
其中interpolatedTime是一个0.0f~1.0f的数字,系统自己插值计算好了(默认是线性变化的),当然你可以自己写插值器
class MyAnimation extends Animation { private int viewCurrentLfet; private int viewStartLfet; private int viewTargetLfet; private int viewWidth; private View view; private int cha; public MyAnimation(View view, int viewStartLfet, int viewTargetLfet, int viewWidth) { this.view = view; this.viewStartLfet = viewStartLfet; this.viewTargetLfet = viewTargetLfet; this.viewWidth = viewWidth; cha = viewTargetLfet - viewStartLfet; setDuration(Math.abs(cha)); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { super.applyTransformation(interpolatedTime, t); viewCurrentLfet = (int) (viewStartLfet + cha * interpolatedTime); view.layout(viewCurrentLfet, 0, viewCurrentLfet + viewWidth, menuHeight); } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机怎么在Android中通过自定义View实现一个抽屉效果
后端开发2023-05-31
怎么在Android中通过自定义View实现一个扫描效果
后端开发2023-06-14
Android中怎么通过自定义view实现TopBar效果
后端开发2023-05-30
怎么在Android中通过自定义View实现一个环形进度条效果
后端开发2023-05-31
怎么在Android应用中实现一个抽屉效果
后端开发2023-05-31
怎么在Android中通过自定义View实现一个箭头沿圆转动效果
后端开发2023-05-30
怎么在Android中通过自定义view实现滑动解锁效果
后端开发2023-06-15
Android应用中怎么实现一个抽屉效果
后端开发2023-05-31
Android中怎么通过自定义View实现圆形切图效果
后端开发2023-05-30
Android中怎么通过自定义view实现进度条加载效果
后端开发2023-05-30
Android通过自定义view实现刮刮乐效果详解
后端开发2024-04-02
Android中怎么通过自定义View实现画圆
后端开发2023-05-30
Android中怎么自定义View实现标签流效果
后端开发2023-06-29
在Android开发中通过自定义View实现一个圆形进度条
后端开发2023-05-31
Android 通过自定义view实现水波纹效果案例详解
后端开发2024-04-02
Android怎么自定义View实现圆弧进度效果
后端开发2023-07-06
Android中怎么通过自定义View 实现QQ侧滑菜单
后端开发2023-05-30
Android中怎么自定义view实现圆环进度条效果
后端开发2023-06-29
咦!没有更多了?去看看其它编程学习网 内容吧