Explorar el Código

首页 fragment 性能问题和闪 bug 修改,ui调整,审核ui调整

liujiangyao hace 7 años
padre
commit
c1d9bd19b9

+ 33 - 0
app/src/main/java/com/kfzs/duanduan/adp/ViewPagerFragmentStateAdapter.java

@@ -0,0 +1,33 @@
+package com.kfzs.duanduan.adp;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentStatePagerAdapter;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/8/29.
+ */
+
+public class ViewPagerFragmentStateAdapter extends FragmentStatePagerAdapter {
+    private List<Fragment> mList;
+    public ViewPagerFragmentStateAdapter(FragmentManager fm) {
+        super(fm);
+    }
+
+    public ViewPagerFragmentStateAdapter(FragmentManager fm, List<Fragment> mList) {
+        super(fm);
+        this.mList = mList;
+    }
+
+    @Override
+    public Fragment getItem(int position) {
+        return mList.get(position);
+    }
+
+    @Override
+    public int getCount() {
+        return mList != null ? mList.size() : 0;
+    }
+}

+ 4 - 4
app/src/main/java/com/kfzs/duanduan/fragment/FgtFind.java

@@ -16,6 +16,7 @@ import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.view.adapter.AdpTryMakemoney;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -54,10 +55,10 @@ public class FgtFind extends BaseCompatFragment {
     @BindView(R.id.pager)
     ViewPager pager;
 
-    private GiftpackListAdapter mAdapter;
+    private AdpTryMakemoney mAdapter;
 
     private void initView() {
-        mAdapter = new GiftpackListAdapter(getFragmentManager(), SheepApp.getInstance());
+        mAdapter = new AdpTryMakemoney(getFragmentManager(), SheepApp.getInstance());
         mAdapter.add(FgtFindChild.newInstance(0), "全部");
         pager.setAdapter(mAdapter);
         indicator.setupWithViewPager(pager);
@@ -71,7 +72,6 @@ public class FgtFind extends BaseCompatFragment {
             public void onPageSelected(int i) {
                 position = i;
                 FIND_TAG.onEvent("find_tag_name", ListUtil.hasIndex(list, i - 1) ? list.get(i - 1).getName() : "全部");
-                pager.setCurrentItem(i);
             }
 
             @Override
@@ -148,6 +148,7 @@ public class FgtFind extends BaseCompatFragment {
                 mAdapter.notifyDataSetChanged();
                 CommonUtil.getInstance().reflex(indicator, activity);
                 pager.setCurrentItem(position);
+                pager.setOffscreenPageLimit(mAdapter.getCount());
 
             }
         });
@@ -155,5 +156,4 @@ public class FgtFind extends BaseCompatFragment {
 
     private int position = 0;//默认选中第一个
 
-
 }

+ 35 - 24
app/src/main/java/com/kfzs/duanduan/react/TabsHelper.java

@@ -11,6 +11,8 @@ import com.kf.utils.ToastBuilder;
 import com.kfzs.duanduan.ActMain;
 import com.kfzs.duanduan.KFZSApp;
 import com.kfzs.duanduan.adp.ViewPagerFragmentAdapter;
+import com.kfzs.duanduan.adp.ViewPagerFragmentStateAdapter;
+import com.kfzs.duanduan.fragment.FgtFind;
 import com.kfzs.duanduan.fragment.FgtPersonalCenter;
 import com.kfzs.duanduan.fragment.FgtSmallSheep;
 import com.sheep.gamegroup.util.LogUtil;
@@ -99,30 +101,39 @@ public class TabsHelper {
             view.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
-                    long currentTime = System.currentTimeMillis();
-                    if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
-                        lastClickTime = currentTime;
-
-                        checkViewState(position);
-                        view_pager_container.setCurrentItem(position, false);
-                        int sheepPosition = MainTab.FgtSmallSheep.ordinal();
-                        int personnalPosition = MainTab.FgtPersonnalCenter.ordinal();
-                        int auditPosition = MainTab.FgtMainAudit.ordinal();
-                        FgtSmallSheep fgtSmallSheep = (FgtSmallSheep) fragmentList.get(sheepPosition);
-                        FgtPersonalCenter personnalCenter = (FgtPersonalCenter) fragmentList.get(personnalPosition);
-                        FgtMainAudit auditFgt = (FgtMainAudit) fragmentList.get(auditPosition);
-                        if(position == sheepPosition){
-                            fgtSmallSheep.onResume();
-                        } else {
-                            fgtSmallSheep.onPause();
+                    try {
+                        long currentTime = System.currentTimeMillis();
+                        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
+                            lastClickTime = currentTime;
+
+                            checkViewState(position);
+                            view_pager_container.setCurrentItem(position, false);
+                            int sheepPosition = MainTab.FgtSmallSheep.ordinal();
+                            int personnalPosition = MainTab.FgtPersonnalCenter.ordinal();
+                            int auditPosition = MainTab.FgtMainAudit.ordinal();
+                            int fPosition = MainTab.Fgt_Find.ordinal();
+                            FgtSmallSheep fgtSmallSheep = (FgtSmallSheep) fragmentList.get(sheepPosition);
+                            FgtPersonalCenter personnalCenter = (FgtPersonalCenter) fragmentList.get(personnalPosition);
+                            FgtMainAudit auditFgt = (FgtMainAudit) fragmentList.get(auditPosition);
+                            FgtFind findFgt = (FgtFind) fragmentList.get(fPosition);
+                            if(position == sheepPosition){
+                                fgtSmallSheep.onResume();
+                            } else {
+                                fgtSmallSheep.onPause();
+                            }
+                            if(position == personnalPosition){
+                                personnalCenter.onResume();
+                            }
+                            if(position == auditPosition){
+                                auditFgt.onResume();
+                            }
+                            if(position == fPosition){
+                                findFgt.onResume();
+                            }
+                            checkWhichPage(position);
                         }
-                        if(position == personnalPosition){
-                            personnalCenter.onResume();
-                        }
-                        if(position == auditPosition){
-                            auditFgt.onResume();
-                        }
-                        checkWhichPage(position);
+                    } catch (Exception e) {
+                        e.printStackTrace();
                     }
 
                 }
@@ -184,7 +195,7 @@ public class TabsHelper {
 
     private void initViewPager() {
         LogUtil.logI("fragmentList.size---"+fragmentList.size());
-        ViewPagerFragmentAdapter mViewPagerFragmentAdapter = new ViewPagerFragmentAdapter(activity.getSupportFragmentManager(), fragmentList);
+        ViewPagerFragmentStateAdapter mViewPagerFragmentAdapter = new ViewPagerFragmentStateAdapter(activity.getSupportFragmentManager(), fragmentList);
         view_pager_container.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 
             @Override

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

@@ -1308,14 +1308,14 @@ public class ViewUtil {
                 textView.setBackgroundResource(R.drawable.shape_red_stroke_rectangle_no_lb);
                 textView.setTextColor(context.getResources().getColor(R.color.red_FD2D54));
                 textView.setText("现金");
-                textView.setPadding(4 * padding, padding, 4 * padding, padding);
+                textView.setPadding( padding, padding,  padding, padding);
                 break;
             case 4:
                 textView.setVisibility(View.VISIBLE);
                 textView.setBackgroundResource(R.drawable.shape_red_f07422_stroke_retangle_no_lb);
                 textView.setTextColor(context.getResources().getColor(R.color.red_F07422));
                 textView.setText("活跃");
-                textView.setPadding(4 * padding, padding, 4 * padding, padding);
+                textView.setPadding( padding, padding,  padding, padding);
                 break;
         }
 

+ 11 - 3
app/src/main/res/layout/act_audit_layout.xml

@@ -115,9 +115,17 @@
         </LinearLayout>
     </android.support.constraint.ConstraintLayout>
 
-    <android.support.design.widget.TabLayout
-        android:id="@+id/indicator"
-        style="@style/style_tab"/>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <android.support.design.widget.TabLayout
+            android:id="@+id/indicator"
+            style="@style/style_tab"/>
+        <include layout="@layout/line_1px_hor" />
+    </LinearLayout>
 
     <android.support.v4.view.ViewPager
         android:id="@+id/pager"

+ 4 - 0
app/src/main/res/layout/homepage_act_layout.xml

@@ -50,6 +50,10 @@
 
                 <View
                     android:layout_width="match_parent"
+                    android:layout_height="10dp"
+                    android:background="#fff5f5f5" />
+                <View
+                    android:layout_width="match_parent"
                     android:layout_height="1dp"
                     android:layout_marginBottom="@dimen/dp_10"
                     android:background="#fff5f5f5" />

+ 11 - 6
app/src/main/res/layout/homepage_item_get_award.xml

@@ -13,28 +13,31 @@
         android:layout_height="wrap_content"
         android:layout_marginStart="5dp"
         android:paddingTop="@dimen/content_padding_2"
-        android:src="@mipmap/homepage_item_jiangli" />
+        android:src="@mipmap/homepage_jianglilq" />
 
     <TextView
         android:id="@+id/homepage_item_get_award_name_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginStart="@dimen/common_margin_10"
+        android:layout_marginStart="@dimen/content_padding_30"
         android:text="你还有329元的奖励未领取"
         android:textColor="@color/black_333333"
         android:textSize="@dimen/text_size_3"
-        app:layout_constraintLeft_toRightOf="@id/homepage_item_get_award_iv" />
+        app:layout_constraintLeft_toRightOf="@id/homepage_item_get_award_iv"
+        android:paddingTop="@dimen/content_padding_3"/>
 
     <TextView
         android:id="@+id/homepage_item_money_tv"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/common_margin_10"
-        android:text=""
+        android:text="11"
         android:textColor="@color/black_999999"
         android:textSize="11sp"
         app:layout_constraintStart_toStartOf="@id/homepage_item_get_award_name_tv"
-        app:layout_constraintTop_toBottomOf="@id/homepage_item_get_award_name_tv" />
+        app:layout_constraintTop_toBottomOf="@id/homepage_item_get_award_name_tv"
+        app:layout_constraintBottom_toBottomOf="@+id/homepage_item_get_award_iv"
+        android:paddingBottom="@dimen/content_padding_3"/>
 
     <TextView
         android:id="@+id/homepage_item_juan_tv"
@@ -46,6 +49,8 @@
         android:textColor="@color/black_999999"
         android:textSize="11sp"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/homepage_item_get_award_name_tv" />
+        app:layout_constraintTop_toBottomOf="@id/homepage_item_get_award_name_tv"
+        app:layout_constraintBottom_toBottomOf="@+id/homepage_item_get_award_iv"
+        android:paddingBottom="@dimen/content_padding_3"/>
 
 </android.support.constraint.ConstraintLayout>

+ 2 - 2
app/src/main/res/layout/tablayout_viewpager_layout.xml

@@ -8,14 +8,14 @@
         android:layout_width="match_parent"
         android:layout_height="48dp"
         android:background="@color/white"
-        android:orientation="horizontal">
+        android:orientation="vertical">
 
         <android.support.design.widget.TabLayout
             android:id="@+id/tabLayout"
             style="@style/style_tab"/>
+        <include layout="@layout/line_1px_hor" />
     </LinearLayout>
 
-    <include layout="@layout/line_1px_hor" />
 
     <android.support.v4.view.ViewPager
         android:id="@+id/viewpager_act_game_details"

BIN
app/src/main/res/mipmap-xhdpi/homepage_jianglilq.png


BIN
app/src/main/res/mipmap-xxhdpi/homepage_jianglilq.png


+ 5 - 5
app/src/main/res/values/strings.xml

@@ -82,12 +82,12 @@
     <string name="cancel">取消</string>
 
     <string name="audit_total_audit">%s\n审核中</string>
-    <string name="audit_total_complete">%s个\n\n累计完成</string>
-    <string name="audit_total_money">%s元\n\n累计现金</string>
-    <string name="audit_total_welfare">%s元\n\n累计福利</string>
+    <string name="audit_total_complete">%s个\n累计完成</string>
+    <string name="audit_total_money">%s元\n累计现金</string>
+    <string name="audit_total_welfare">%s元\n累计福利</string>
     <string name="my_invitation_str">我的邀请码:%s</string>
 
     <string name="homepage_award">你还有%s元的奖励未领取</string>
-    <string name="homepage_cash">现金任务未完成:%s元</string>
-    <string name="homepage_welfare">游戏福利未领取:%s元</string>
+    <string name="homepage_cash">现金任务:%s元</string>
+    <string name="homepage_welfare">游戏福利:%s元</string>
 </resources>