Articles of swiperefreshlayout

滚动位置位于顶部时,SwipeRefreshLayout + WebView

我正在尝试将SwipeRefreshLayout与WebView一起使用。 我面临的问题是在页面中间,当用户向下滚动时,不必要的刷新开始。 如何在webview的滚动位置位于顶部时才进行刷新事件。 (即,他正在查看页面的顶部)?

Android Error Swlating类SwipeRefreshLayout

我正在开发一个应用程序,它使用3个选项卡,每个选项卡都有一个片段,我试图在每个片段中实现SwipeRefreshLayout。 我相信我已经正确地创建了这个,但我继续得到错误: android.view.InflateException: Binary XML file line #1: Error inflating class SwipeRefreshLayout Caused by: java.lang.ClassNotFoundException: Didn’t find class “android.view.SwipeRefreshLayout” on path: DexPathList[[zip file “/data/app/com.ryan.brooks.fropllc.frop.app-1.apk”],nativeLibraryDirectories=[/data/app-lib/com.ryan.brooks.fropllc.frop.app-1, /vendor/lib, /system/lib]] at com.ryan.brooks.fropllc.frop.app.whatsGoingOnFragment.onCreateView(whatsGoingOnFragment.java:23) 现在我完全不知道造成这种情况的原因。 如果有人能帮助我,我将非常感激。 这是我实现SwipeRefreshLayout的片段布局: 这是我的片段类,我在调用SwipeRefreshLayout。 public class WhatsGoingOnFragment extends Fragment { private SwipeRefreshLayout swipeLayout; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout […]

SwipeRefreshLayout – 从底部拉

有没有办法使用SwipeRefreshLayout刷新ListView从底部拉出? 我从顶部创造了拉力,但我还需要从底部拉动。 有很多关于如何从顶部创建pull的教程,但我找不到任何从底部拉的教程?

什么是正确的方式来使用工具栏和SwipeRefreshLayout?

我正在尝试使用SwipeRefreshLayout和一个工具栏,但每次我都使用工具栏上出现的进度圈,这在devise方面真的很糟糕。 我试着把SwipeRefreshLayout放在工具栏下面,但是这并不起作用,进度圈仍然出现在它的顶部(状态栏上方)。 我想要像在Gmail应用程序中一样使用工具栏和布局。 我正在使用AppCompat库。 这是我的代码: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <include layout="@layout/bluetooth_toolbar" android:id="@+id/bluetooth_toolbar"/> <TextView android:id="@+id/swipeTo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Swipe down to refresh" android:textSize="20sp" android:layout_below="@+id/bluetooth_toolbar" android:layout_centerHorizontal="true" /> <ListView android:id="@+id/newDevices" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/swipeTo" android:layout_marginTop="50dp" /> <ListView android:id="@+id/pairedDevices" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/newDevices" android:layout_marginTop="50dp" /> </RelativeLayout> </ScrollView> </android.support.v4.widget.SwipeRefreshLayout> 和 public class BluetoothActivity […]

禁用单击SwipeRefreshLayout内的RecyclerView

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

带有空TextView的Android SwipeRefreshLayout无法正常工作

我想要做的是,允许用户轻扫和刷新列表,数据是否存在并不重要。 但是,当数据在列表视图中只有列表视图应该是可见的,而当数据不存在时,空的textview应该是可见的。 在这两种情况下,用户必须能够通过刷卡来刷新列表。 我在这个讨论中尝试了一些解决scheme,但是没有一个听起来像是在工作,把两个SwipeToRefresh工作得很好,但是在从服务器获取数据时显示空容器。 我试图用我自己的逻辑包装ListView和Textview在一个Relative / FrameLayout里面,但是SwipeToRefresh只接受一个视图的行为 这是我试过的一个XML片段 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/activity_main_swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.945" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/event_list_eventlist" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@color/event_background" android:dividerHeight="1dp" > </ListView> <TextView android:id="@+id/event_txt_nothing_found" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerInParent="true" android:layout_centerVertical="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@android:color/darker_gray" android:visibility="gone" /> </RelativeLayout> </android.support.v4.widget.SwipeRefreshLayout> 请帮忙

SwipeRefreshLayout不拦截NestedScrollingChild的MotionEvent

我正在使用一个NestedScrollWebView (深受NestedScrollWebView影响),它解决了许多与在CoordinatorLayout使用WebView相关的已知 问题 。 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <android.support.design.widget.AppBarLayout android:id="@+id/appBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.ActionBar"> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_scrollFlags="enterAlways|scroll|snap"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <ProgressBar android:id="@+id/progressBar" android:layout_width="match_parent" android:layout_height="2dp" android:layout_gravity="bottom" android:visibility="gone" style="@style/Widget.AppCompat.ProgressBar.Horizontal"/> </FrameLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <com.example.app.widget.NestedScrollWebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> </android.support.design.widget.CoordinatorLayout> NestedScrollWebView适用于AppBarLayout和enterAlways|scroll|snap滚动标志,但与SwipeRefreshLayout 。 我从NestedScrollWebView删除了以下行: setOverScrollMode(WebView.OVER_SCROLL_NEVER); 这确保视图不会显示在滚动指示器之上。 我想要滚动显示指示器,但是即使启用了滚动条,也不会出现以下情况。 据我所知, SwipeRefreshLayout应该拦截任何导致刷新指示符被拖动的触摸事件(基于onInterceptTouchEvent() )。 SwipeRefreshLayout也拒绝任何requestDisallowInterceptTouchEvent()给嵌套滚动的子任何启用; 这对于NestedScrollWebView是正确的。 […]

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视图不能正确滚动

在实施刷卡刷新视图之前,回收者视图运行正常,但无论何时尝试向下滚动回收视图刷卡以刷新干扰并阻碍滚动移动。 这是问题的屏幕截图: (请注意刷新布局来回收视图向下滚动) 这是我的布局片段: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/activity_main_swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:wheel="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/availableTaskRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> <RelativeLayout android:id="@+id/progress_wheel" android:visibility="gone" tools:visibility="visible" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:background="@color/transparentLoaderBackground"> <com.pnikosis.materialishprogress.ProgressWheel android:layout_width="50dp" android:layout_height="50dp" wheel:matProg_barColor="@color/white" wheel:matProg_barWidth="1dp" wheel:matProg_progressIndeterminate="true"/> </RelativeLayout> <RelativeLayout android:id="@+id/no_available_tasks" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" tools:visibility = "visible" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="No tasks currently […]

SwipeRefreshLayout隐藏在空的RecyclerView上

我有一个SwipeRefreshLayout的Fragment ,然后RecyclerView作为孩子。 当Fragment被提交时,它开始与服务器交谈,以便检索一些数据并填充将提供RecyclerView的CustomAdapter。 用户可以通过向下滑动或按下ActionBar上的button来刷新内容。 在后一种情况下,我手动调用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 = […]