主要是针对listView和RecycleView等,双击title标题栏,来定位到最顶部,先上一个演示图:
这里主要是根据两次点击的时间差来确定是否双击标题栏,然后选中到最顶端,当然如果是webView点击回到顶端的话,可以调用ScrollTo方法来定位到0,0的位置,下面贴出主要代码
//这里的startTime是为了记录第一次点击的时间,endTime是第二次点击的时间,doubleFlag是为了标记是第一次点击还是第二次点击
public long startTime = 0;
public long endTime = 0;
public boolean doubleFlag = true;
public void onTvTitleDoubleClick(View view){
//获取第一次的点击时间,并改变标记
if(doubleFlag){
startTime = System.currentTimeMillis();
doubleFlag = false;
return;
}
//如果是第二次点击,计算两次点击时间差,如果小于350ms,就执行返回顶端的操作
if(!doubleFlag){
endTime = System.currentTimeMillis();
doubleFlag = true;
if((endTime - startTime) < 350){
//Toast.makeText(MainActivity.this, (endTime - startTime)+"ms返回顶部", Toast.LENGTH_SHORT).show();
//这里就是执行选中到顶端的操作,我这里是recycleView,你也可以是listView
mainBinding.recycle.scrollToPosition(0);
}
}
}
代码下载地址双击返回顶部Demo