Android实现双击TitleBar回顶部的功能示例代码
时间:2022-07-27
本文章向大家介绍Android实现双击TitleBar回顶部的功能示例代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
本文介绍的内容是偶然发现的这个功能,就给移过来了,整理了一下,也是一个类就实现的,使用很方便
特别感谢@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毫秒
就是这么简单,一个好的封装,可以省多少事呀!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。
参考
https://github.com/TakWolf/CNode-Material-Design
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- dubbo SPI 主要配置技术解读
- 三维城市建模之开发视角,10万场景资源+用户样例
- 3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!
- leetcode之字符串压缩
- Android如何获取屏幕、状态栏及标题栏的高度详解
- Android中FloatingActionButton的显示与隐藏示例
- Android 中RecyclerView顶部刷新实现详解
- Android开发实现图片平移、缩放、倒影及旋转功能的方法
- Grafana + InfluxDB 实现 Jmeter 压测的图形化监控
- Android 浮动编辑框的具体实现代码
- Android实现Path平滑的涂鸦效果实例
- Android CameraManager类详解
- Android开发实现自定义水平滚动的容器示例
- Android Studio开发之 JNI 篇的简单示例
- Android自定义View播放Gif动画的示例