{"id":1830,"date":"2020-09-12T10:18:03","date_gmt":"2020-09-12T02:18:03","guid":{"rendered":"http:\/\/122.152.205.50\/wordpress\/?p=1830"},"modified":"2021-01-09T13:30:16","modified_gmt":"2021-01-09T05:30:16","slug":"superswiperefreshlayout","status":"publish","type":"post","link":"http:\/\/xinyiworld.top\/wordpress_it\/?p=1830","title":{"rendered":"SuperSwipeRefreshLayout"},"content":{"rendered":"\n<p><a href=\"https:\/\/github.com\/nuptboyzhb\/SuperSwipeRefreshLayout\">https:\/\/github.com\/nuptboyzhb\/SuperSwipeRefreshLayout<\/a><\/p>\n\n\n\n<h2>\u5c01\u88c5<\/h2>\n\n\n\n<p>\u7531\u4e8e\u6b64\u7c7b\u8c03\u7528\u7684\u4ee3\u7801\u6bd4\u8f83\u591a\uff0c\u6240\u4ee5\u8981\u505a\u4e00\u4e0b\u5c01\u88c5\u3002<\/p>\n\n\n\n<p>\u5b9a\u4e49\u5c01\u88c5\u7c7b\uff1a RefreshHandler.java<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**\n * \u5c01\u88c5\u5237\u65b0\u548c\u52a0\u8f7d\u66f4\u591a\u7684\u64cd\u4f5c\n * author:Created by ZhangChen on 2016\/8\/3 0003.\n * detail:\n *\/\npublic class RefreshHandler {\n    private SuperSwipeRefreshLayout swipeRefreshLayout;\n\n    \/\/ Header View\n    private ProgressBar progressBar;\n    private TextView textView;\n    private ImageView imageView;\n\n    \/\/ Footer View\n    private ProgressBar footerProgressBar;\n    private TextView footerTextView;\n    private ImageView footerImageView;\n\n\n    private OnActionListener onActionListener;\n\n\n    public RefreshHandler(SuperSwipeRefreshLayout swipeRefreshLayout) {\n        this.swipeRefreshLayout = swipeRefreshLayout;\n        initSwipeRefreshLayout( this.swipeRefreshLayout);\n    }\n\n    private void initSwipeRefreshLayout(SuperSwipeRefreshLayout swipeRefreshLayout) {\n        \/\/ init SuperSwipeRefreshLayout\n        swipeRefreshLayout.setHeaderViewBackgroundColor(Color.parseColor(\"#ECEFF1\"));\n        swipeRefreshLayout.setFooterViewBackgroundColor(Color.parseColor(\"#ECEFF1\"));\n        swipeRefreshLayout.setHeaderView(createHeaderView());\/\/ add headerView\n        swipeRefreshLayout.setFooterView(createFooterView());\n        swipeRefreshLayout.setTargetScrollWithLayout(true);\n        swipeRefreshLayout\n                .setOnPullRefreshListener(new SuperSwipeRefreshLayout.OnPullRefreshListener() {\n\n                    @Override\n                    public void onRefresh() {\n                        textView.setText(\"\u6b63\u5728\u5237\u65b0\");\n                        imageView.setVisibility(View.GONE);\n                        progressBar.setVisibility(View.VISIBLE);\n                        if(onActionListener != null){\n                            onActionListener.onRefresh();\n                        }\n                    }\n\n                    @Override\n                    public void onPullDistance(int distance) {\n                        \/\/ pull distance\n                    }\n\n                    @Override\n                    public void onPullEnable(boolean enable) {\n                        textView.setText(enable ? \"\u677e\u5f00\u5237\u65b0\" : \"\u4e0b\u62c9\u5237\u65b0\");\n                        imageView.setVisibility(View.VISIBLE);\n                        imageView.setRotation(enable ? 180 : 0);\n                    }\n                });\n\n        swipeRefreshLayout\n                .setOnPushLoadMoreListener(new SuperSwipeRefreshLayout.OnPushLoadMoreListener() {\n\n                    @Override\n                    public void onLoadMore() {\n                        footerTextView.setText(\"\u6b63\u5728\u52a0\u8f7d...\");\n                        footerImageView.setVisibility(View.GONE);\n                        footerProgressBar.setVisibility(View.VISIBLE);\n                        if(onActionListener != null){\n                            onActionListener.onLoadMore();\n                        }\n                    }\n\n                    @Override\n                    public void onPushEnable(boolean enable) {\n                        footerTextView.setText(enable ? \"\u677e\u5f00\u52a0\u8f7d\" : \"\u4e0a\u62c9\u52a0\u8f7d\");\n                        footerImageView.setVisibility(View.VISIBLE);\n                        footerImageView.setRotation(enable ? 0 : 180);\n                    }\n\n                    @Override\n                    public void onPushDistance(int distance) {\n\n                    }\n\n                });\n    }\n\n\n\n    private View createFooterView() {\n        View footerView = LayoutInflater.from(swipeRefreshLayout.getContext())\n                .inflate(R.layout.layout_footer, null);\n        footerProgressBar = (ProgressBar) footerView\n                .findViewById(R.id.footer_pb_view);\n        footerImageView = (ImageView) footerView\n                .findViewById(R.id.footer_image_view);\n        footerTextView = (TextView) footerView\n                .findViewById(R.id.footer_text_view);\n        footerProgressBar.setVisibility(View.GONE);\n        footerImageView.setVisibility(View.VISIBLE);\n        footerImageView.setImageResource(R.drawable.down_arrows_footer);\n        footerTextView.setText(\"\u4e0a\u62c9\u52a0\u8f7d\u66f4\u591a...\");\n        return footerView;\n    }\n\n    private View createHeaderView() {\n        View headerView = LayoutInflater.from(swipeRefreshLayout.getContext())\n                .inflate(R.layout.layout_head, null);\n        progressBar = (ProgressBar) headerView.findViewById(R.id.pb_view);\n        textView = (TextView) headerView.findViewById(R.id.text_view);\n        textView.setText(\"\u4e0b\u62c9\u5237\u65b0\");\n        imageView = (ImageView) headerView.findViewById(R.id.image_view);\n        imageView.setVisibility(View.VISIBLE);\n        imageView.setImageResource(R.drawable.down_arrows_footer);\n        progressBar.setVisibility(View.GONE);\n        return headerView;\n    }\n\n\n    public void finishRefresh(){\n        swipeRefreshLayout.setRefreshing(false);\n        progressBar.setVisibility(View.GONE);\n    }\n\n    public void finishLoadMore(){\n        footerImageView.setVisibility(View.VISIBLE);\n        footerProgressBar.setVisibility(View.GONE);\n        swipeRefreshLayout.setLoadMore(false);\n    }\n\n\n    public interface  OnActionListener {\n        void onRefresh();\n        void onLoadMore();\n    }\n\n\n    public void setOnActionListener(OnActionListener onActionListener){\n        this.onActionListener = onActionListener;\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u8c03\u7528\u5c01\u88c5\u7c7b<\/p>\n\n\n\n<p>\n\n\u521b\u5efaRefreshHandler\n refreshHandler = new RefreshHandler(swipeRefreshLayout);\n refreshHandler.setOnActionListener(this);\n\u7136\u540e\u5728\u5408\u9002\u7684\u65f6\u5019\u8c03\u7528\nrefreshHandler.finishLoadMore();\nrefreshHandler.finishRefresh();\n\n<\/p>\n<button class=\"simplefavorite-button\" data-postid=\"1830\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>https:\/\/github.com\/nuptboyzhb\/SuperSwipeRefreshLay [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[53],"tags":[],"_links":{"self":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/1830"}],"collection":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1830"}],"version-history":[{"count":3,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/1830\/revisions"}],"predecessor-version":[{"id":1833,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/1830\/revisions\/1833"}],"wp:attachment":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1830"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}