Articles of swiperefreshlayout

禁用在SwipeRefreshLayout内单击RecyclerView

我使用RecyclerView实现了SwipeRefreshLayout ,我需要在OnRefreshListener期间禁用我的适配器项。 我尝试了以下方法,但点击正常: mRecyclerView.setEnabled(false); mRecyclerView.setClickable(false);

制作自定义SwipeRefreshLayout指标?

我如何制作一个自定义指标,将自定义animation用于SwipeRefreshLayout ? 我查看了SwipeRefreshLayout的源代码,我注意到CircleImageView对象是私有的。 反正有没有修改ImageView ?

如何使用android数据绑定设置SwipeRefreshLayout刷新属性?

我正在使用android数据绑定库。 如果我想让视图可见,我可以这样写: 是否有以类似(xml)方式绑定到swipeRefreshLayout的刷新属性的选项? 目前我通过调用setRefreshing(true / false)在代码中设置它,但是希望在xml中使它保持一致。

SwipeRefreshLayout不拦截NestedScrollingChild的MotionEvent

我使用的是NestedScrollWebView (受NestedScrollWebView影响NestedScrollView ),它解决了许多与在CoordinatorLayout使用WebView相关的已知 问题 。 NestedScrollWebView适用于AppBarLayout和enterAlways|scroll|snap滚动标记,但与SwipeRefreshLayout 。 我从NestedScrollWebView删除了以下行: setOverScrollMode(WebView.OVER_SCROLL_NEVER); 这样可以确保视图不会显示在滚动指示器上。 我想要显示滚动指示符,但即使启用了过度滚动,也不会出现以下情况。 根据我的理解, SwipeRefreshLayout应该拦截导致刷新指示符被拖动的任何触摸事件(基于其onInterceptTouchEvent() )。 SwipeRefreshLayout还拒绝任何启用了嵌套滚动的子项的requestDisallowInterceptTouchEvent() ; 这对于NestedScrollWebView是正确的。 因此,应按以下方式处理这些事件: 如果从onInterceptTouchEvent()返回true,则先前处理触摸事件的子视图将收到ACTION_CANCEL ,并且从该点开始的事件将被发送到父级的onTouchEvent()方法以进行常规处理。 相反,我看到的行为是SwipeRefreshLayout对SwipeRefreshLayout的触摸事件进行NestedScrollWebView但它实际上从未拦截它们。 事实certificate, NestedScrollWebView永远不会收到ACTION_CANCEL触摸事件,并且即使拖动SwipeRefreshLayout指示器,它也会继续接收后续事件。 这在以下屏幕截图中进行了演示; 它显示了SwipeRefreshLayout的指示符以及同时显示的WebView滚动指示符。 我无法弄清楚为什么会这样。 正如我之前提到的, SwipeRefreshLayout应该适用于任何启用了嵌套滚动的视图,但由于某种原因它在这种情况下不起作用。 可能是什么问题? 更新 我认为它与NestedScrollWebView处理dispatchNestedPre…方法的方式有关,并且它总是将整个super.onTouchEvent()传递给super.onTouchEvent()方法。 根据文件 : 嵌套的预滚动事件是嵌套滚动事件触摸拦截的触摸。 dispatchNestedPreScroll为嵌套滚动操作中的父视图提供了在子视图使用之前使用部分或全部滚动操作的机会。 现在我必须弄清楚如何重写NestedScrollWebView以正确处理这些方法。

是否可以在XML中设置SwipeRefreshLayout的颜色方案?

我正在使用SwipeRefreshLayout 。 我知道如何动态setColorScheme 。 是否可以在XML中设置SwipeRefreshLayout的方案颜色attribute ?

SwipeRefreshLayout干扰setOnScrollListener

每次我向上或向下滚动列表时,我都会使用OnScrollListener隐藏(或取消隐藏)某些视图。 这是附加到我的ListView的代码。 lv.setOnScrollListener(new OnScrollListener() { private int mLastFirstVisibleItem; private boolean mIsScrollingUp = true; private LinearLayout ll = (LinearLayout) getActivity() .findViewById(R.id.llSearchPlaces); @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (view.getId() == lv.getId()) { final int currentFirstVisibleItem = lv .getFirstVisiblePosition(); if (currentFirstVisibleItem > […]

在实现滑动以刷新布局后,Recycler视图无法正确滚动

在实施刷卡刷新视图之前,回收器视图工作正常但不是每当我尝试向下滚动回收器视图时刷卡刷新干扰并阻碍滚动运动。 以下是该问题的屏幕截图: (注意,当回收器视图向下滚动时,滑动刷新布局会出现) 这是我的布局片段: 下面是我片段的代码: package com.packrboy.fragments; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RelativeLayout; import com.android.volley.AuthFailureError; import com.android.volley.NetworkError; import com.android.volley.NetworkResponse; import com.android.volley.NoConnectionError; import com.android.volley.ParseError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.ServerError; import com.android.volley.TimeoutError; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.avast.android.dialogs.fragment.SimpleDialogFragment; import com.packrboy.R; […]

SwipeRefreshLayout使用ViewPager进行拦截

我有一个包含在SwipeRefreshLayout内的ViewPager。 有时,当我向左/向右滑动时,SRL会被触发。 这主要发生在我处于片段顶部的时候。 我该如何解决这个问题? 我是否需要听某种事件才能在一定时间内禁用SRL? 我还没有真正发现任何关于它的事情,所以我怀疑这是谷歌的一个实际错误,而是我实施错误的东西? 有什么想法吗? 这是我的布局: 谢谢! 如果我错过任何信息,请告诉我。

SwipeRefreshLayout隐藏在空的RecyclerView上

我有一个Fragment与SwipeRefreshLayout然后RecyclerView作为孩子。 提交片段后,它会开始与服务器通信以检索某些数据并填充将为RecyclerView提供服务的CustomAdapter。 用户可以通过向下滑动或按ActionBar上的按钮来刷新内容。 在后一种情况下,我手动调用swipeRefreshLayout.setRefreshing(true) 。 所以直到现在都没有麻烦。 当我在第一次加载RecyclerView( onStart() )期间手动调用刷新状态时出现问题。 进度指示器没有显示,我假设因为RecyclerView仍然是空的,因为它需要几秒钟来检索所有数据… 我留给你一些代码。 片段代码: public class MyFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View mView = inflater.inflate(R.layout.fragment_stop, container, false); mRecyclerView = (RecyclerView) mView.findViewById(R.id.recyclerView1); mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); mRecyclerView.setHasFixedSize(true); mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mRecyclerView.setItemAnimator(new DefaultItemAnimator()); //SwipeRefreshLayout retrieved and configured swipeLayout = (SwipeRefreshLayout) […]

SwipeRefreshLayout片段创建时没有animation

我正在使用android.support.v4.widget.SwipeRefreshLayout和android.support.v7.widget.RecyclerView 。 在片段视图创建时,我需要显示SwipeRefreshLayoutanimation。 但是,当我调用setRefreshing(true)没有任何反应。 但是当我刷新数据animation的变化时。 我想在没有SwipeRefreshLayout内的子项时animation没有显示。 如何以最佳方式显示此animation?