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 下拉刷新怎么实现

Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)

怎么自定义android 下拉刷新动画

Android 怎么实现支持所有View的通用的下拉刷新控件

Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能