Преглед изворни кода

滑动 卡死优化/换了一个插件,添加一个点击控件

liujiangyao пре 7 година
родитељ
комит
1841b88892

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -48,6 +48,7 @@ import com.bumptech.glide.request.RequestOptions;
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.jcodecraeer.xrecyclerview.CustomFooterViewCallBack;
 import com.jcodecraeer.xrecyclerview.CustomFooterViewCallBack;
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
+import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.sheep.gamegroup.view.fragment.FgtPersonalCenter;
 import com.sheep.gamegroup.view.fragment.FgtPersonalCenter;
 import com.sheep.gamegroup.dateview.DatePickerDialog;
 import com.sheep.gamegroup.dateview.DatePickerDialog;
 import com.sheep.gamegroup.dateview.DateUtil;
 import com.sheep.gamegroup.dateview.DateUtil;
@@ -526,6 +527,18 @@ public class ViewUtil {
         return view;
         return view;
     }
     }
 
 
+    public static View setBottomLine(final SmartRefreshLayout refreshLayout, final Action1<String> action1){
+        View view = LayoutInflater.from(SheepApp.getInstance()).inflate(action1 != null ? R.layout.empty : R.layout.common_foot_view, null);
+        TextView bottom_line_text = view.findViewById(R.id.bottom_line_text);
+        bottom_line_text.setText("点击加载更多...");
+        bottom_line_text.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                refreshLayout.autoLoadMore();
+            }
+        });
+        return view;
+    }
     /**
     /**
      * popwindow消失监听类,消失恢复window透明度
      * popwindow消失监听类,消失恢复window透明度
      */
      */

+ 32 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment2.java

@@ -9,10 +9,12 @@ import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
+import android.widget.TextView;
 
 
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
 import com.jcodecraeer.xrecyclerview.XRecyclerView;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.api.ScrollBoundaryDecider;
 import com.scwang.smartrefresh.layout.constant.SpinnerStyle;
 import com.scwang.smartrefresh.layout.constant.SpinnerStyle;
 import com.scwang.smartrefresh.layout.footer.BallPulseFooter;
 import com.scwang.smartrefresh.layout.footer.BallPulseFooter;
 import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
 import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
@@ -81,6 +83,8 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
     protected SmartRefreshLayout refreshLayout;
     protected SmartRefreshLayout refreshLayout;
     @BindView(R.id.view_list)
     @BindView(R.id.view_list)
     protected RecyclerView view_list;
     protected RecyclerView view_list;
+    @BindView(R.id.click_tv)
+    protected TextView click_tv;
 
 
     protected BaseMessage lastMessage;//最后一个网络获取的结果
     protected BaseMessage lastMessage;//最后一个网络获取的结果
     protected int page = 1;//页数
     protected int page = 1;//页数
@@ -138,8 +142,27 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
                 },1000);
                 },1000);
             }
             }
         });
         });
+        click_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                refreshLayout.autoLoadMore();
+            }
+        });
+//        refreshLayout.setScrollBoundaryDecider(new ScrollBoundaryDecider() {
+//            @Override
+//            public boolean canRefresh(View view) {
+//                return false;
+//            }
+//
+//            @Override
+//            public boolean canLoadMore(View view) {
+//                refreshLayout.autoLoadMore();
+//                return true;
+//            }
+//        });
 
 
-//        bottomLine = ViewUtil.setBottomLine(recyclerView, getNoMoreCallBack());
+//        bottomLine = ViewUtil.setBottomLine(refreshLayout, getNoMoreCallBack());
         view_list.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
         view_list.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
         view_list.setAdapter(getAdapter());
         view_list.setAdapter(getAdapter());
 
 
@@ -238,6 +261,14 @@ public abstract class BaseListFragment2<T> extends BaseFragment {
     }
     }
     public void notifyDataSetChanged(){
     public void notifyDataSetChanged(){
         loadMore = false;
         loadMore = false;
+        if(list.isEmpty()){
+            refreshLayout.setVisibility(View.GONE);
+            click_tv.setVisibility(View.GONE);
+        }else {
+
+            refreshLayout.setVisibility(View.VISIBLE);
+            click_tv.setVisibility(View.VISIBLE);
+        }
         CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
         CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
         if(page == 1){
         if(page == 1){
             refreshLayout.finishLoadMore(2000/*,false*/);//传入false表示加载失败
             refreshLayout.finishLoadMore(2000/*,false*/);//传入false表示加载失败

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPlayGame.java

@@ -114,7 +114,7 @@ public class FgtPlayGame extends BaseFragment {
                     int count = item.getDataCount();
                     int count = item.getDataCount();
                     item.setNoFresh();
                     item.setNoFresh();
                     ViewGroup.LayoutParams params = pager.getLayoutParams();
                     ViewGroup.LayoutParams params = pager.getLayoutParams();
-                    params.height = count == 0 ? G.HEIGHT / 2 : (count * getResources().getDimensionPixelSize(R.dimen.content_padding_96) + getResources().getDimensionPixelSize(R.dimen.content_padding));
+                    params.height = count == 0 ? G.HEIGHT / 2 : (count * getResources().getDimensionPixelSize(R.dimen.content_padding_96) + getResources().getDimensionPixelSize(R.dimen.frg_app_details_icon));
                     pager.setLayoutParams(params);
                     pager.setLayoutParams(params);
                 case WHAT_UPDATE_FOOT_VIEW_CALL_BACK://发布任务列表的加载更多的回调
                 case WHAT_UPDATE_FOOT_VIEW_CALL_BACK://发布任务列表的加载更多的回调
                     if(msg.obj instanceof String) {
                     if(msg.obj instanceof String) {

+ 28 - 9
app/src/main/res/layout/fgt_playgame_son_refresh_layout.xml

@@ -22,16 +22,35 @@
         android:layout_height="match_parent"
         android:layout_height="match_parent"
         android:layout_below="@+id/check_net_ll" />
         android:layout_below="@+id/check_net_ll" />
 
 
-    <com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/refreshLayout"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
 
-        <android.support.v7.widget.RecyclerView
-            android:id="@+id/view_list"
+        <com.scwang.smartrefresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="#fff"
-            android:overScrollMode="never" />
-    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+            android:layout_height="0dp"
+            android:layout_weight="1">
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/view_list"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="#fff"
+                android:overScrollMode="never" />
+
+        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+
+        <TextView
+            android:id="@+id/click_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="点击加载更多"
+            android:gravity="center_horizontal"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="@dimen/content_padding_15"
+            android:layout_marginTop="@dimen/content_padding_15"
+            android:layout_gravity="center_horizontal"/>
+    </LinearLayout>
+
 </RelativeLayout>
 </RelativeLayout>