android webview怎么实现下拉刷新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android webview怎么实现下拉刷新相关的知识,希望对你有一定的参考价值。
这个就需要你判断下拉的位置了,需要用到事件流的分发,oninterrupttouchevent(),具体的名字记不住了,你打一下就会出来,如果位置是从最上方开始的,把这个下拉时间分给下拉刷新处理,如果不是,就给webview处理。思想就是这个思想,代码自己写。记得更清楚。 参考技术A android系统已经提供了一个下拉刷新的控件了 SwipeRefreshLayout这个在类V4包中,google源生的,用法超简单,两行代码搞定了
你用SwipeRefreshLayout包裹你的WebView即可实现下接刷新了追问
是直接在SwipeRefreshLayout里面添加webview控件吗
大神!
对的,你先看看SwipeRefreshLayout的示例吧,用法真的超级超级简单
本回答被提问者采纳Android可以下拉刷新的webview,使你的webview效果更加好看,封装自己的WebView
作者:程序员小冰 (转载请说明出处)博客地址:http://blog.csdn.net/qq_21376985
长期维护的Android项目,里面包括常用功能实现,以及知识点详解, 当然还有Java中的知识点。
具体请看github:https://github.com/QQ986945193/DavidAndroidProjectTools
今天带大家做一个可以下拉刷新的自定义WebView,首先先看一下我们今天要实现的效果:
当然我们这里也可以设置一下,不让它进行刷新的效果。不过刷新的话可以增加我们的美观性。
好了。我这里先给大家看一下使用的方法:
package davidcustomwebview.qq986945193.com.davidcustomwebview;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
/**
* @author :程序员小冰
* @新浪微博 :http://weibo.com/mcxiaobing
* @GitHub: https://github.com/QQ986945193
* @CSDN博客: http://blog.csdn.net/qq_21376985
*/
/**
* 自定义WebView支持下拉刷新的功能
*/
public class DavidWebViewActivity extends Activity
/**
* 若是需要设置一下功能 可在DavidWebView中进行设置
*/
private DavidWebView davidWebView;
private ToggleButton tb;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_david_webview);
davidWebView = (DavidWebView) findViewById(R.id.davidWebView);
tb = (ToggleButton) findViewById(R.id.tb);
initData();
protected void initData()
davidWebView.setOnRefreshWebViewListener(new OnRefreshWebViewListener()
@Override
public void onRefresh()
// 模拟接口调用3秒
new Handler()
@Override
public void handleMessage(Message msg)
//调用接口结束
davidWebView.setRefreshSuccess();
// davidWebView.setRefreshFail();
.sendEmptyMessageDelayed(0, 3000);
);
davidWebView.getWebView().loadUrl("http://blog.csdn.net/qq_21376985");
tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
if (isChecked)
//支持刷新
davidWebView.setRefreshEnable(true);
else
//不支持刷新
davidWebView.setRefreshEnable(false);
);
刷新的话调用setOnRefreshWebViewListener()方法即可。控制是否可以刷新,只需调用它的
setRefreshEnable()方法,进行判断。使用起来是不是很简单呢?不过里面有一些自定义的webview,
大家把里面的类与布局资源文件拷贝到自己的项目中,直接按上面的方法调用即可。
所以考虑到还有好多布局文件,所以,我这里就不给大家一一来写了。如果感兴趣的话,可以自行下载源代
码,进行优化,美化。使用。研究。源代码我放在了github上。
源代码下载地址为:https://github.com/QQ986945193/DavidCustomWebView
以上是关于android webview怎么实现下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章
Android可以下拉刷新的webview,使你的webview效果更加好看,封装自己的WebView
Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)