一键返回页面顶部的需求
来源:互联网 发布:java集成测试框架 编辑:程序博客网 时间:2024/06/05 15:59
用户又提了个需求,要求一键返回到阅读的顶端,于是自己实现了一下
- 首先定义自己的WebView
- 然后帖布局
- 主代码
MyWebView
package io.dcloud.H5B79C397.view;import android.content.Context;import android.util.AttributeSet;import android.webkit.WebView;/** * Created by Administrator on 2017/10/10 0010. */public class MyWebView extends WebView { private OnScrollChangeListener mOnScrollChangeListener; public MyWebView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); // webview的高度 float webcontent = getContentHeight() * getScale(); // 当前webview的高度 float webnow = getHeight() + getScrollY(); if (Math.abs(webcontent - webnow) < 1) { //处于底端 mOnScrollChangeListener.onPageEnd(l, t, oldl, oldt); } else if (getScrollY() == 0) { //处于顶端 mOnScrollChangeListener.onPageTop(l, t, oldl, oldt); } else { mOnScrollChangeListener.onScrollChanged(l, t, oldl, oldt); } } public void setOnScrollChangeListener(OnScrollChangeListener listener) { this.mOnScrollChangeListener = listener; } public interface OnScrollChangeListener { public void onPageEnd(int l, int t, int oldl, int oldt); public void onPageTop(int l, int t, int oldl, int oldt); public void onScrollChanged(int l, int t, int oldl, int oldt); }}
布局
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/imageButton" android:layout_width="80dp" android:layout_height="50dp" android:layout_gravity="right|bottom" android:text="顶部" android:visibility="gone" /> <io.dcloud.H5B79C397.view.MyWebView android:id="@+id/detail_webview" android:layout_width="match_parent" android:layout_height="match_parent" android:fadeScrollbars="true" /> </FrameLayout>
主要代码
webView.setOnScrollChangeListener(new MyWebView.OnScrollChangeListener() { @Override public void onPageEnd(int l, int t, int oldl, int oldt) { Totop.setVisibility(View.VISIBLE); } @Override public void onPageTop(int l, int t, int oldl, int oldt) { Totop.setVisibility(View.GONE); } @Override public void onScrollChanged(int l, int t, int oldl, int oldt) { Totop.setVisibility(View.VISIBLE); } });
点击事件
case R.id.imageButton: webView.scrollTo(0,0); Totop.setVisibility(View.GONE); break;
阅读全文
0 0
- 一键返回页面顶部的需求
- 一键返回顶部
- ListView一键返回顶部
- 浏览器一键返回顶部
- 滚动返回页面顶部的JS特效
- 页面返回顶部的具体实现方法
- js返回页面顶部的方法
- 返回页面顶部的动画图标
- 如何实现“返回顶部”的页面效果
- jquery 滑动返回到页面的顶部
- 一个简易的“返回顶部”页面效果
- js返回页面顶部
- 返回页面顶部模块
- 返回页面顶部
- jquery返回页面顶部
- jquery返回页面顶部
- 返回页面顶部
- web-返回页面顶部
- Spring Boot学习笔记(二)
- 修改 Linux VM 中单个用户最大进程数的限制
- 消费社会的丰盛与单一
- SNS(社交类)的评论排序问题汇总
- kernel panic 调试方法(2)-Oops信息的调试及栈回溯
- 一键返回页面顶部的需求
- 关于插入排序的个人笔记
- 线程池中使用Callable
- Stackoverflow上人气最旺的10个Java问题
- ubuntu中Python2和python3—pip问题
- Java:操作XML文件
- 设计模式18-命令模式
- python 解析网页,将抓取到的图片保存到本地
- 微信小程序开发(5)---数据绑定