精华内容
下载资源
问答
  • 2016-11-02 21:25:18

    今天由于业务需要,需要对webview下来刷新,但webview肯定没这功能呀,于是就想,在用xlistview把webview放在头部,下拉webview时,就重新加载webview,但这样说不定,可能照成滑动冲突。于是,在stack overflow找到了不错的解决方案。

    SwipeRefreshLayout 是谷歌官方下拉刷新控件,4.0以下的版本需要用到 Android-support-v4.jar包才能用到。
    SwipeRefreshLayout 使用起来是非常简单的,只需要在可以滑动的控件外层添加即可,如:WebView、ListView和ScroolView.

    demo例子如下:
    public class MainActivity extends Activity {

    private WebView webView;
    private WebSettings webSettings;
    private SwipeRefreshLayout swipeLayout;
    private String linkUrl="https://www.baidu.com/";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        swipeLayout = (SwipeRefreshLayout)findViewById(R.id.swipe_container);
        // 设置刷新监听器
        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    
            @Override
            public void onRefresh() {
                //重新刷新页面
                // webview.loadUrl(webview.getUrl());
                webView.reload();
            }
        });
    
        //设置进度条渐变的颜色
        swipeLayout.setColorScheme(R.color.holo_blue_bright,
                R.color.holo_green_light, R.color.holo_orange_light,
                R.color.holo_red_light);
    
        //初始化webview
        initwebview();
    }
    
    private void initwebview(){
        webView= (WebView) findViewById(R.id.webview);
        webSettings= webView.getSettings();
        webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        webSettings.setSupportZoom(false);
        webSettings.setBuiltInZoomControls(false);
        webSettings.setAppCacheMaxSize(1024 * 1024 * 9);// 设置缓冲大小
        webSettings.setAllowFileAccess(true);
        webSettings.setAppCacheEnabled(true);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
    
        //设置进度条
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                if (newProgress == 100) {
                    //隐藏进度条
                    swipeLayout.setRefreshing(false);
                } else {
                    if (!swipeLayout.isRefreshing())
                        //显示进度条
                        swipeLayout.setRefreshing(true);
                }
    
                super.onProgressChanged(view, newProgress);
            }
        });
        webView.loadUrl(linkUrl);
    }
    

    }

    更多相关内容
  • WebView下拉刷新Demo

    2016-07-05 16:39:07
    webview = (WebView) findViewById(R.id.webview); swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(new OnRefreshListener() { @Override ...

    这里是xml布局文件


    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent" >  
      
        <android.support.v4.widget.SwipeRefreshLayout  
            android:id="@+id/swipe_container"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent" >  
      
            <WebView  
                android:id="@+id/webview"  
                android:layout_width="match_parent"  
                android:layout_height="match_parent"/>  
              
        </android.support.v4.widget.SwipeRefreshLayout>  
      
    </FrameLayout>



    现在创建color.xml文件,用来展示进度条颜色


    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        
        <!-- A light Holo shade of blue -->  
        <color name="holo_blue_light">#ff33b5e5</color>  
        <!-- A light Holo shade of green -->  
        <color name="holo_green_light">#ff99cc00</color>  
        <!-- A light Holo shade of red -->  
        <color name="holo_red_light">#ffff4444</color>  
        <!-- A dark Holo shade of blue -->  
        <color name="holo_blue_dark">#ff0099cc</color>  
        <!-- A dark Holo shade of green -->  
        <color name="holo_green_dark">#ff669900</color>  
        <!-- A dark Holo shade of red -->  
        <color name="holo_red_dark">#ffcc0000</color>  
        <!-- A Holo shade of purple -->  
        <color name="holo_purple">#ffaa66cc</color>  
        <!-- A light Holo shade of orange -->  
        <color name="holo_orange_light">#ffffbb33</color>  
        <!-- A dark Holo shade of orange -->  
        <color name="holo_orange_dark">#ffff8800</color>  
        <!-- A really bright Holo shade of blue -->  
        <color name="holo_blue_bright">#ff00ddff</color> 
    </resources>
    


    最后,是我们MainActivity中的示例



    package com.example.webviewrefresh;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.support.v4.widget.SwipeRefreshLayout;
    import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
    import android.view.Menu;
    import android.view.View;
    import android.webkit.WebChromeClient;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    
    public class MainActivity extends Activity {
    
        private SwipeRefreshLayout swipeLayout;
    	private WebView webview;
    
    	@Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            webview = (WebView) findViewById(R.id.webview);
           swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
           swipeLayout.setOnRefreshListener(new OnRefreshListener() {
    		
    		@Override
    		public void onRefresh() {
    			// TODO Auto-generated method stub
    			webview.loadUrl(webview.getUrl());
    		}
    	});
            
           swipeLayout.setColorScheme(R.color.holo_blue_bright,  
                   R.color.holo_green_light, R.color.holo_orange_light,  
                   R.color.holo_red_light);   
            
           webview.loadUrl("https://www.baidu.com/");  
            
           webview.getSettings().setJavaScriptEnabled(true);   
           
           webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);  
           
           webview.requestFocus();  
           
           webview.setWebViewClient(new WebViewClient(){  
               @Override  
               public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                   view.loadUrl(url);         
                   return true;         
               }  
           });  
           //设置进度条  
           webview.setWebChromeClient(new WebChromeClient(){  
               @Override  
               public void onProgressChanged(WebView view, int newProgress) {  
                   if (newProgress == 100) {  
                      
                       swipeLayout.setRefreshing(false);  
                   } else {  
                       if (!swipeLayout.isRefreshing())  
                           swipeLayout.setRefreshing(true);  
                   }  
                     
                   super.onProgressChanged(view, newProgress);  
               }  
           });  
            
        }
    
    
      
    }
    


    好了,接下里你可以试一试了,希望有所帮助


    展开全文
  • slidingmenu侧滑以及webview下拉刷新,所有功能都是最简单的,有助于学习代码,支持左右滑动以及按钮点击滑动,
  • 最近项目中需要用到WebView下拉刷新的功能,经过查找资料终于完成了此功能,现在拿出来和大家分享一下。希望对大家有所帮助。 效果如下图:       代码:   activity.xml ...

    最近项目中需要用到WebView下拉刷新的功能,经过查找资料终于完成了此功能,现在拿出来和大家分享一下。希望对大家有所帮助。

    效果如下图:

                          

     

    代码:

     

    activity.xml


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.zq.pullrefreshwebview.MainActivity">
        <com.zq.pullrefreshwebview.widget.PtrClassicFrameLayout
            android:id="@+id/rotate_header_web_view_frame"
            xmlns:cube_ptr="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/white"
            cube_ptr:ptr_duration_to_close="200"
            cube_ptr:ptr_duration_to_close_header="1000"
            cube_ptr:ptr_keep_header_when_refresh="true"
            cube_ptr:ptr_pull_to_fresh="false"
            cube_ptr:ptr_ratio_of_header_height_to_refresh="1.2"
            cube_ptr:ptr_resistance="1.8">
            <WebView
                android:id="@+id/webview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />
        </com.zq.pullrefreshwebview.widget.PtrClassicFrameLayout>
    </RelativeLayout>

     Activity.Java

    /****
     * WebView 实现下拉加载
     */
    public class MainActivity extends AppCompatActivity {
    
        private PtrClassicFrameLayout mPtrFrame;
        private WebView mWebView;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mWebView= (WebView) findViewById(R.id.webview);
            mPtrFrame= (PtrClassicFrameLayout) findViewById(R.id.rotate_header_web_view_frame);
            initView();
        }
    
        private void initView(){
            mWebView.setWebViewClient(new WebViewClient() {
    
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    if(url.toLowerCase().startsWith("http://") || url.toLowerCase().startsWith("https://"))
                    {
                        return false;
                    }
                    return true;
                }
                @Override
                public void onPageFinished(WebView view, String url) {
                    mPtrFrame.refreshComplete();
                }
    
            });
            mPtrFrame.setLastUpdateTimeRelateObject(this);
            mPtrFrame.setPtrHandler(new PtrHandler() {
                @Override
                public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
                    return PtrDefaultHandler.checkContentCanBePulledDown(frame, mWebView, header);
                }
                @Override
                public void onRefreshBegin(PtrFrameLayout frame) {
                    updateData();
                }
            });
            mPtrFrame.setResistance(1.7f);
            mPtrFrame.setRatioOfHeaderHeightToRefresh(1.2f);
            mPtrFrame.setDurationToClose(200);
            mPtrFrame.setDurationToCloseHeader(1000);
            mPtrFrame.setPullToRefresh(false);
            mPtrFrame.setKeepHeaderWhenRefresh(true);
            mPtrFrame.postDelayed(new Runnable() {
                @Override
                public void run() {
                    mPtrFrame.autoRefresh();
                }
            }, 100);
        }
        private void updateData() {
            mWebView.loadUrl("https://my.oschina.net/zhangqie/blog");
        }
    
    }


    权限:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
    

    注:上图效果是参考他人写的

    更多控件实现下拉刷新效果图:  可以参考 https://github.com/DickyQie/android-advanced-effect/tree/pull-down-refresh   我就是参考此案例来实现的

             

     

     

    更多实现方式 https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh

     

     图1:

    源码点击下载


     图2:

    https://github.com/DickyQie/android-advanced-effect/tree/webview-pull-refresh


    展开全文
  • 下拉刷新demo

    2018-05-08 18:39:55
    下拉刷新demo,只是下拉刷新,能结合webview\listview各个控件。
  • SwipeRefreshLayout 是谷歌官方下拉刷新控件,4.0如下的版本须要用到 android-support-v4.jar包才能用到htmlandroid-support-v4.jar 包下载地址:输入连接说明java官网API地址:输入连接说明androidGitHub Demo下载...

    SwipeRefreshLayout 是谷歌官方下拉刷新控件,4.0如下的版本须要用到 android-support-v4.jar包才能用到html

    android-support-v4.jar 包下载地址:输入连接说明java

    官网API地址:输入连接说明android

    GitHub Demo下载地址:输入连接说明git

    d0a37d610a324433bed92a7b.html

    SwipeRefreshLayout 使用起来是很是简单的,只须要在能够滑动的控件外层添加便可,如:WebView、ListView和ScroolView.github

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

    android:id="@+id/swipe_container"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

    android:id="@+id/webview"

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>

    经常使用方法: void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) 设置刷新监听器 void setColorSchemeColors(int color1, int color2, int color3, int color4) 设置四种颜色进度条样式 void setRefreshing(boolean refreshing) 隐藏或显示进度条 boolean isRefreshing() 判断进度条是否显示web

    结合WebView使用也挺简单的,能够实现一些功能,下拉刷新当前网页、点击网页在当前页面中浏览并显示SwipeRefreshLayout进度条,总体来讲仍是不错的ide

    public class Fragment5 extends Fragment {

    private View view;

    public WebView webview;

    private SwipeRefreshLayout swipeLayout;

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

    Bundle savedInstanceState) {

    view = inflater.inflate(R.layout.activity_fragment5, null);

    swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container);

    swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

    @Override

    public void onRefresh() {

    //从新刷新页面

    webview.loadUrl(webview.getUrl());

    }

    });

    swipeLayout.setColorScheme(R.color.holo_blue_bright,

    R.color.holo_green_light, R.color.holo_orange_light,

    R.color.holo_red_light);

    webview = (WebView)view.findViewById(R.id.webview);

    webview.loadUrl("http://blog.csdn.net/h7870181");

    //添加javaScript支持

    webview.getSettings().setJavaScriptEnabled(true);

    //取消滚动条

    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

    //触摸焦点起做用

    webview.requestFocus();

    //点击连接继续在当前browser中响应

    webview.setWebViewClient(new WebViewClient(){

    @Override

    public boolean shouldOverrideUrlLoading(WebView view, String url) {

    view.loadUrl(url);

    return true;

    }

    });

    //设置进度条

    webview.setWebChromeClient(new WebChromeClient(){

    @Override

    public void onProgressChanged(WebView view, int newProgress) {

    if (newProgress == 100) {

    //隐藏进度条

    swipeLayout.setRefreshing(false);

    } else {

    if (!swipeLayout.isRefreshing())

    swipeLayout.setRefreshing(true);

    }

    super.onProgressChanged(view, newProgress);

    }

    });

    return view;

    }

    }

    差点忘了贴出color.xml资源文件了,我呵了个呵!url

    #ff33b5e5

    #ff99cc00

    #ffff4444

    #ff0099cc

    #ff669900

    #ffcc0000

    #ffaa66cc

    #ffffbb33

    #ffff8800

    #ff00ddff

    展开全文
  • 1.下拉刷新停止失效: 错误代码:Uncaught TypeError: mui(...).pullRefresh(...).endPulldown() is not a function或者Uncaught TypeError: mui(...).pullRefresh(...).endPullupToRefresh is not a function 官网...
  • android webview 下拉刷新

    2017-01-02 04:03:33
    如题,android 客服端中一个界面加载webview网页,下拉这个页面的时候刷新这个网页。小弟刚学android不久,求位大神帮我看看怎么实现,最好有个demo。小弟感激不尽!
  • 下拉刷新 demo 很好用

    2015-02-27 16:05:26
    这个demo 主要是分享给用到下拉刷新的同学的,非常好用 ,主要分为三个部分:listview scrollview 和webView下拉刷新可以说是涵盖了所有关于下拉的应用,我只想说绝对值2分的了!
  •  我做了一个大集合的demo,实现了ListView、GridView、ExpandableListView、ScrollView、WebView、ImageView、TextView的下拉刷新和上拉加载。后面会提供demo的下载地址,最新代码已上传到github:...
  • SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support library的版本升级到19.1。 提到下拉刷新大家一定对ActionBarPullToRefresh比较熟悉,而如今google...
  • 今天介绍的这款框架,专门针对ListView做下拉刷新与上拉加载的,如果单单是ListView就显得更加简单方便易于理解。 1、首先引入xListView_lib库到自己的Demo上 2、使用步骤 它的使用步骤跟普通的ListView是一样,这也...
  • 这两天整理了一下listview的下拉刷新和上拉加载的使用方法,自己做了一遍以后感觉受益良多,也慢慢积累了一些以前没有掌握的知识点。   本文分成两个部分: 1:采用PullToRefresh实现listview的下拉刷新和...
  • 这个资源中包含了一个通用的下拉刷新框架源码和demo apk。这个框架可以支持ListView, GridView, ScrollView, WebView,严格来说,你可以把任何View放到这个框架中.rar,太多无法一一验证是否可用,程序如果跑不起来...
  • PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的View类型,而且使用起来也十分方便。 demo实例下载 下载完成,将它导入到...
  • 当然,support包中也有一系列为我们准备好的Parent,就是design包中的CoordinatorLayout,下一章节,我将讲述下怎么实现一个NestedScrollingParent的下拉刷新。 最后的最后,祝大家鸡年大吉吧!o(////////)q
  • Demo是UIScrollView和UIWebView结合EGO实现下拉刷新demo
  • android下拉刷新框架源代码

    热门讨论 2014-02-17 16:22:16
    这个资源中包含了一个通用的下拉刷新框架源码和demo apk。其实网上有很多下拉刷新的例子,但都不是很共通,特别是以listview添加header或footer居多,这很明显无法应用到GridView这样的布局。基于此,我们参考前辈的...
  • PullList两个实现下拉刷新滑动回弹效果的react native组件,可支持android & ios,简单易用!纯s代码,基于ScrollView&ListView封装. 比scrollview & ListView更强大,有三个下拉状态:pulling...
  • Android 优化后的下拉刷新&上拉加载更多的Library及Demo,包括ListView、ScrollView、WebView、GridView、ExpandableListView等的上下拉刷新布局~~非常好用~~
  • Android 下拉刷新框架实现

    千次阅读 2018-07-17 10:30:13
    前段时间项目中用到了下拉刷新功能,之前在网上也找到过类似的demo,但这些demo的质量参差不齐,用户体验也不好,接口设计也不行。最张没办法,终于忍不了了,自己就写了一个下拉刷新的框架,这个框架是一个通用的...
  • 众多优秀的下拉刷新(除了我写的之外T_T) 说起下拉刷新,好像经历一段历史的洗礼。。。 (1)在我刚学android的时候,用的是XListView,在github上搜索有 MarkMjw/PullToRefresh ,根据Maxwin的XListView...
  • 这篇文章主要为大家详细介绍了MUI实现上拉加载和下拉刷新效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了MUI实现上拉加载和下拉刷新展示的具体代码,供大家参考,具体内容如下编写存储...
  • 最近使用MUI这个框架使用下拉刷新插件的时候,在电脑和苹果手机测试都没有问题,但是一上线却发现安卓打包成APP后无法使用的问题。针对这一问题,博主只想说大家在开发的过程中真的是没有认真官方的文档,官方文档...
  • 此方法在安卓6的自带下拉刷新的APP内无效。 做移动app项目时,用的是app内嵌webview的方法,遇到问题。 在安卓6中,app原生自带下拉刷新,与界面内的下滑冲突。 开始考虑通过在touchmove时阻止默认事件解决,但...
  • 空下来把mui上拉加载更多,下拉刷新数据做了一个简单的实现,希望可以帮助到需要的朋友demo项目的结构mui上拉刷新下拉加载demo--封装li{height: 30px;line-height: 30px;font-size: 14px;color: #bbb;text-indent: 4...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,953
精华内容 1,181
关键字:

webview下拉刷新demo