前言

本文介绍的内容是偶然发现的这个功能,就给移过来了,整理了一下,也是一个类就实现的,使用很方便

特别感谢@TakWolf大大的开源项目,学了好多Android方面的东西

双击返回顶部代码

public class DoubleClickBackToContentTopListener implements View.OnClickListener { private final long delayTime = 300; private long lastClickTime = 0; private final IBackToContentTopView backToContentTopView; public interface IBackToContentTopView { void backToContentTop(); } @Override public final void onClick(View v) { long nowClickTime = System.currentTimeMillis(); if (nowClickTime - lastClickTime > delayTime) {  lastClickTime = nowClickTime; } else {  onDoubleClick(v); } } public DoubleClickBackToContentTopListener(@NonNull IBackToContentTopView backToContentTopView) { this.backToContentTopView = backToContentTopView; } public void onDoubleClick(View v) { backToContentTopView.backToContentTop(); }}

使用方法

public class CNodeActivity extends Activity implements  DoubleClickBackToContentTopListener.IBackToContentTopView { private Toolbar toolbar; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cnode); toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(R.string.cnode); toolbar.setNavigationOnClickListener(v -> this.finish()); toolbar.setOnClickListener(new DoubleClickBackToContentTopListener(this)); listView = (ListView) findViewById(R.id.list_view);  listView.setAdapter(//TODO); initData(); } private void initData() { //TODO } @Override public void backToContentTop() { listView.setSelection(0); }}

说明一下,DoubleClickBackToContentTopListener类里的delayTime属性是双击之间的时间差,这里默认设置的是300毫秒

就是这么简单,一个好的封装,可以省多少事呀!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

参考

https://github.com/TakWolf/CNode-Material-Design

更多相关文章

  1. 【Android】 textview 中超出屏幕宽度的字符 省略号显示
  2. Android屏幕内容制作成GIF图方式
  3. Android(安卓)studio中关于Spinner下拉列表的点击事件
  4. Unity3d与Android的相互调用
  5. Gradle、 Gradle Android(安卓)Plugin 、 Build Tools之间关系
  6. Android(安卓)adapter has changed解决方法
  7. Qt for android 开机自启动、开机黑屏处理
  8. Android(安卓)Sources for android api 25 not found!(已解决)
  9. Eclipse开发Android报错android library projects cannot be lau

随机推荐

  1. Android编译系统详解(三)——编译流程详
  2. Android遇上打印机
  3. Android(安卓)= Java
  4. Android截图功能实现
  5. android软件工程师实战开发零基础到高级
  6. Android高手进阶教程(四)之----Android(
  7. Android(安卓)开发工具介绍-SDK工具和平
  8. Android应用层源码阅读笔记--Application
  9. android 如何使用Wake Lock来节电?
  10. 杂谈汇总(更新...)