欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现双击TitleBar回顶部的功能示例代码

程序员文章站 2023-12-18 08:07:22
前言 本文介绍的内容是偶然发现的这个功能,就给移过来了,整理了一下,也是一个类就实现的,使用很方便 特别感谢@takwolf大大的开源项目,学了好多android方面的...

前言

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

特别感谢@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

上一篇:

下一篇: