Selaa lähdekoodia

Merge remote-tracking branch 'origin/sheep_develop' into sheep_develop

liujiangyao 7 vuotta sitten
vanhempi
commit
e48662e4f4
41 muutettua tiedostoa jossa 772 lisäystä ja 167 poistoa
  1. 3 6
      app/src/main/AndroidManifest.xml
  2. 13 0
      app/src/main/java/com/sheep/gamegroup/model/entity/PunchEntity.java
  3. 2 2
      app/src/main/java/com/sheep/gamegroup/util/DataUtil.java
  4. 2 2
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  5. 203 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActSignCard.java
  6. 19 61
      app/src/main/java/com/sheep/gamegroup/view/activity/SignRankingsAct.java
  7. 6 7
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  8. 50 0
      app/src/main/java/com/sheep/gamegroup/view/customview/CircleView.java
  9. 86 0
      app/src/main/java/com/sheep/gamegroup/view/customview/PathMultiView.java
  10. 4 2
      app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment.java
  11. 35 29
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignRankings.java
  12. 6 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java
  13. BIN
      app/src/main/res/drawable-xhdpi/sign_ljdk_bg.webp
  14. BIN
      app/src/main/res/drawable-xhdpi/sign_lxdk_bg.webp
  15. BIN
      app/src/main/res/drawable-xhdpi/sign_rankings_1.webp
  16. BIN
      app/src/main/res/drawable-xhdpi/sign_rankings_2.webp
  17. BIN
      app/src/main/res/drawable-xhdpi/sign_rankings_3.webp
  18. BIN
      app/src/main/res/drawable-xxhdpi/bule_bg1.webp
  19. BIN
      app/src/main/res/drawable-xxhdpi/bule_bg2.webp
  20. BIN
      app/src/main/res/drawable-xxhdpi/daka_btn.webp
  21. BIN
      app/src/main/res/drawable-xxhdpi/daka_btn_click.webp
  22. BIN
      app/src/main/res/drawable-xxhdpi/red_bg1.webp
  23. BIN
      app/src/main/res/drawable-xxhdpi/red_bg2.webp
  24. BIN
      app/src/main/res/drawable-xxhdpi/sign_ljdk_bg.webp
  25. BIN
      app/src/main/res/drawable-xxhdpi/sign_ljdk_w_bg.webp
  26. BIN
      app/src/main/res/drawable-xxhdpi/sign_lxdk_bg.webp
  27. BIN
      app/src/main/res/drawable-xxhdpi/sign_lxdk_w_bg.webp
  28. BIN
      app/src/main/res/drawable-xxhdpi/sign_rankings_1.webp
  29. BIN
      app/src/main/res/drawable-xxhdpi/sign_rankings_2.webp
  30. BIN
      app/src/main/res/drawable-xxhdpi/sign_rankings_3.webp
  31. BIN
      app/src/main/res/drawable-xxhdpi/yellow_bg1.webp
  32. BIN
      app/src/main/res/drawable-xxhdpi/yellow_bg2.webp
  33. 0 0
      app/src/main/res/drawable/layer_triangle_white.xml
  34. 9 0
      app/src/main/res/drawable/selector_button_daka.xml
  35. 6 0
      app/src/main/res/drawable/shap_blue_btn_22.xml
  36. 203 0
      app/src/main/res/layout/act_sign_card.xml
  37. 76 0
      app/src/main/res/layout/item_super_user.xml
  38. 26 0
      app/src/main/res/layout/item_user.xml
  39. 17 7
      app/src/main/res/layout/sign_rankings_item.xml
  40. 4 50
      app/src/main/res/layout/sign_rankings_layout.xml
  41. 2 1
      app/src/main/res/layout/title.xml

+ 3 - 6
app/src/main/AndroidManifest.xml

@@ -245,12 +245,6 @@
             android:screenOrientation="portrait" />
 
         <activity
-            android:name="com.kfzs.duanduan.ActWeb"
-            android:hardwareAccelerated="true"
-            android:screenOrientation="portrait" />
-
-
-        <activity
             android:name="com.sheep.gamegroup.view.activity.ActDownloadMgr"
             android:hardwareAccelerated="false"
             android:screenOrientation="portrait" />
@@ -365,6 +359,9 @@
 
 
         <activity
+            android:name="com.sheep.gamegroup.view.activity.ActSignCard"
+            android:screenOrientation="portrait" />
+        <activity
             android:name="com.sheep.gamegroup.view.activity.SignCardAct"
             android:screenOrientation="portrait" />
         <activity

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/PunchEntity.java

@@ -7,6 +7,7 @@ package com.sheep.gamegroup.model.entity;
 public class PunchEntity {
     private String num;
     private String nick_name;
+    private float total_bonus;
 
     public String getNum() {
         return num;
@@ -23,4 +24,16 @@ public class PunchEntity {
     public void setNick_name(String nick_name) {
         this.nick_name = nick_name;
     }
+
+    public float getTotal_bonus() {
+        return total_bonus;
+    }
+
+    public void setTotal_bonus(float total_bonus) {
+        this.total_bonus = total_bonus;
+    }
+
+    public float getTotalBonus() {
+        return total_bonus;
+    }
 }

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

@@ -286,9 +286,9 @@ public class DataUtil {
         return null;
     }
     //是否使用小绵羊截图方案
-    public static final boolean IS_USE_SCREEN_SHOT = false;
+    public static final boolean IS_USE_SCREEN_SHOT = true;
     //是否监听媒体库图片变化
-    public static final boolean IS_LISTEN_SCREEN_SHOT = false;
+    public static final boolean IS_LISTEN_SCREEN_SHOT = true;
     /**
      * 截图路径
      *

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

@@ -83,7 +83,7 @@ import com.sheep.gamegroup.view.activity.RealNameAuthenAct;
 import com.sheep.gamegroup.view.activity.RechargeAct;
 import com.sheep.gamegroup.view.activity.RechargeQAct;
 import com.sheep.gamegroup.view.activity.RechargeResultAct;
-import com.sheep.gamegroup.view.activity.SignCardAct;
+import com.sheep.gamegroup.view.activity.ActSignCard;
 import com.sheep.gamegroup.view.activity.SignRankingsAct;
 import com.sheep.gamegroup.view.activity.SignRechargeAct;
 import com.sheep.gamegroup.view.activity.SignRecordAct;
@@ -1132,7 +1132,7 @@ public class Jump2View {
      * @param o
      */
     public void goSignCardAct(Context context, Object o){
-        Intent intent = new Intent(context, SignCardAct.class);
+        Intent intent = new Intent(context, ActSignCard.class);
         context.startActivity(intent);
         UMConfigUtils.Event.PUNCH.onEvent();
     }

+ 203 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActSignCard.java

@@ -0,0 +1,203 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.graphics.Paint;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.kfzs.duanduan.data.graph.provider.player.User;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by realicing on 2018/9/11.
+ * realicing@sina.com
+ */
+public class ActSignCard extends BaseActivity {
+    @BindView(R.id.sign_card_tip)
+    TextView sign_card_tip;
+    @BindView(R.id.sign_card_total_bonus)
+    TextView sign_card_total_bonus;
+    @BindView(R.id.sign_card_total_people)
+    TextView sign_card_total_people;
+    @BindView(R.id.sign_card_users)
+    RecyclerView sign_card_users;
+    @BindView(R.id.sign_card_super_users)
+    RecyclerView sign_card_super_users;
+    private ActSignCard activity;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_sign_card;
+    }
+
+    @Override
+    public void initView() {
+        activity = this;
+        TitleBarUtils
+                .getInstance()
+                .setTitle(activity, "打卡挑战")
+                .setTitleFinish(activity)
+                .setRightSecondBtn(activity, R.mipmap.question_black_img, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("温馨提示").setBtnLeftText("我知道了")
+                                .setMsg("该栏目为日常活跃活动,收益可提现。"));
+                    }
+                })
+                .setRightBotton(activity, "战绩", 0, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        Jump2View.getInstance().goSignRecordAct(activity, null);
+                    }
+                });
+        //加下划线
+        sign_card_tip.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
+        if(DataUtil.getAsBoolean("isNotShowDialogSignCard", true)) {//没有记录显示过该对话框,就显示之
+            DataUtil.putAsBoolean("isNotShowDialogSignCard", false);
+            ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("活动说明").setBtnLeftText("我知道了")
+                    .setMsgGravity(Gravity.START).setMsg("支付1元参与次日早起打卡挑战\n\n" +
+                            "次日早起打卡成功瓜分奖池奖金\n\n" +
+                            "次日未打卡或超过规定打卡时间则不可参与奖金瓜分\n\n" +
+                            "早起打卡时间:7:00-9:00"));
+        }
+    }
+
+    @Override
+    public void initListener() {
+        sign_card_users.setLayoutManager(new LinearLayoutManager(sign_card_users.getContext(), LinearLayoutManager.HORIZONTAL, false));
+        sign_card_users.setNestedScrollingEnabled(false);
+        sign_card_users.setAdapter(new AdbCommonRecycler<User>(SheepApp.getInstance(), userList) {
+            @Override
+            public int getViewIdByType(int type) {
+                return R.layout.item_user;
+            }
+
+            @Override
+            public void convert(ViewHolder holder, User user) {
+                ImageView item_user_iv = holder.getView(R.id.item_user_iv);
+                TextView item_user_tv = holder.getView(R.id.item_user_tv);
+                ViewUtil.setDefaultText(item_user_tv);
+                //TODO
+            }
+        });
+        sign_card_super_users.setLayoutManager(new GridLayoutManager(SheepApp.getInstance(), 3));
+        sign_card_super_users.setHasFixedSize(true);
+        sign_card_super_users.setNestedScrollingEnabled(false);
+        sign_card_super_users.setAdapter(new AdbCommonRecycler<User>(SheepApp.getInstance(), superUserList) {
+            @Override
+            public int getViewIdByType(int type) {
+                return R.layout.item_super_user;
+            }
+
+            @Override
+            public void convert(ViewHolder holder, User user) {
+                int position = holder.getAdapterPosition();
+                ImageView item_super_user_bg1 = (ImageView)holder.itemView.findViewById(R.id.item_super_user_bg1);
+                ImageView item_super_user_iv = (ImageView)holder.itemView.findViewById(R.id.item_super_user_iv);
+                ImageView item_super_user_bg2 = (ImageView)holder.itemView.findViewById(R.id.item_super_user_bg2);
+                TextView item_super_user_tv1 = (TextView)holder.itemView.findViewById(R.id.item_super_user_tv1);
+                TextView item_super_user_tv2 = (TextView)holder.itemView.findViewById(R.id.item_super_user_tv2);
+                TextView item_super_user_tv3 = (TextView)holder.itemView.findViewById(R.id.item_super_user_tv3);
+                ViewUtil.setText(item_super_user_tv1, XING_TEXTS[position]);
+                ViewUtil.setDefaultText(item_super_user_tv2);
+                ViewUtil.setDefaultText(item_super_user_tv3);
+                //TODO
+            }
+        });
+    }
+    private final static String[] XING_TEXTS = {"早起之星", "挑战之星", "毅力之星"};
+    private List<User> userList = ListUtil.emptyList();
+    private List<User> superUserList = ListUtil.emptyList();
+    @Override
+    public void initData() {
+
+        SheepApp.getInstance().getNetComponent().getApiService().getFindTagList()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        List<User> newList = baseMessage.getDatas(User.class);
+                        ListUtil.addAll(userList, newList);
+                        sign_card_users.setLayoutManager(new GridLayoutManager(SheepApp.getInstance(), userList.size()));
+                        sign_card_users.getAdapter().notifyDataSetChanged();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+        SheepApp.getInstance().getNetComponent().getApiService().getFindTagList()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        List<User> newList = baseMessage.getDatas(User.class);
+                        ListUtil.addAll(superUserList, newList);
+                        int size;
+                        while((size =superUserList.size()) > 3){
+                            superUserList.remove(size - 1);
+                        }
+                        sign_card_super_users.getAdapter().notifyDataSetChanged();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+    }
+    @OnClick({R.id.sign_card_join, R.id.sign_card_tip, R.id.sign_card_look_more})
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
+            case R.id.sign_card_join:
+                参加打卡挑战();
+                break;
+            case R.id.sign_card_tip:
+                显示活动说明();
+                break;
+            case R.id.sign_card_look_more:
+                查看详细榜单();
+                break;
+        }
+    }
+
+    private void 查看详细榜单() {
+        //TODO
+    }
+    private void 显示活动说明() {
+        ViewUtil.showMsgDialog(activity, new DialogConfig().setTitle("早起也能赚钱了").setBtnLeftText("我知道了")
+            .setMsgGravity(Gravity.START).setMsg("1、支付1元作为早起动力金参与早起打卡,放入早起打卡挑战奖池内。\n" +
+                        "2、次日早上7:00-9:00时段为早起打卡时间,用户在此期间进入小绵羊点击打卡按钮则成功打卡成功打卡不仅能拿回您原来投入的1元动力金,还能瓜分当天所有打卡失败者的全部动力金。\n" +
+                        "3、未在次日早上7:00-9:00内进行打卡视为打卡失败,打卡失败后您所投入的1元动力金将不予以退回,也不参与瓜分当天所有打卡失败者的全部动力金。\n" +
+                        "4、奖金将会在当天9:00进行结算,于12小时内发放至你的账户。由于网络原因,部分用户可能出现到账不及时的情况,请与我们的客服联系(客服电话:4008-698-576)\n" +
+                        "本活动最终解释权归橙风有量科技有限公司所有"));
+    }
+
+    private void 参加打卡挑战() {
+        //TODO
+    }
+}

+ 19 - 61
app/src/main/java/com/sheep/gamegroup/view/activity/SignRankingsAct.java

@@ -1,18 +1,15 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
-import android.graphics.drawable.Drawable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.content.ContextCompat;
+import android.support.design.widget.TabLayout;
 import android.support.v4.view.ViewPager;
 import android.view.View;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
 
-import com.sheep.gamegroup.view.fragment.FgtSignRankings;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.adapter.TitleFragmentListAdapter;
+import com.sheep.gamegroup.view.fragment.FgtSignRankings;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
@@ -30,14 +27,8 @@ public class SignRankingsAct extends BaseActivity {
 
     @BindView(R.id.sign_ViewPager)
     ViewPager signViewPager;
-    @BindView(R.id.sign_tv_ljdl)
-    TextView signTvLjdl;
-    @BindView(R.id.sign_rl_ljdl)
-    RelativeLayout signRlLjdl;
-    @BindView(R.id.sign_tv_lxdl)
-    TextView signTvLxdl;
-    @BindView(R.id.sign_rl_lxdl)
-    RelativeLayout signRlLxdl;
+    @BindView(R.id.sign_tab)
+    TabLayout indicator;
 
     @Override
     protected int getLayoutId() {
@@ -51,20 +42,17 @@ public class SignRankingsAct extends BaseActivity {
                 .getInstance()
                 .setTitle(activity, "本月排行榜")
                 .setTitleFinish(activity);
+    }
 
 
-        signViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
-            @Override
-            public Fragment getItem(int position) {
-                FgtSignRankings fragment = FgtSignRankings.getInstance(position);
-                return fragment;
-            }
+    @Override
+    public void initListener() {
+        TitleFragmentListAdapter mAdapter = new TitleFragmentListAdapter(getSupportFragmentManager());
+        mAdapter.add(FgtSignRankings.getInstance(0), "累计打卡");
+        mAdapter.add(FgtSignRankings.getInstance(1), "连续打卡");
+        signViewPager.setAdapter(mAdapter);
+        indicator.setupWithViewPager(signViewPager);
 
-            @Override
-            public int getCount() {
-                return 2;
-            }
-        });
         signViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
             @Override
             public void onPageScrolled(int i, float v, int i1) {
@@ -73,7 +61,7 @@ public class SignRankingsAct extends BaseActivity {
 
             @Override
             public void onPageSelected(int i) {
-                switch (i){
+                switch (i) {
                     case 0:
                         selectLeft();
                         break;
@@ -88,14 +76,12 @@ public class SignRankingsAct extends BaseActivity {
 
             }
         });
+        CommonUtil.getInstance().reflex(indicator, activity);
     }
 
-
-    @Override
-    public void initListener() {}
-
     @Override
-    public void initData() {}
+    public void initData() {
+    }
 
 
     @OnClick({R.id.sign_rl_ljdl, R.id.sign_rl_lxdl})
@@ -114,38 +100,10 @@ public class SignRankingsAct extends BaseActivity {
     }
 
     private void selectLeft() {
-        signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_hold);
-        signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
-        signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_normal);
-        signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
-
-
-        Drawable drawable= getResources().getDrawable(R.drawable.sign_lxdk_bg);
-        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
-        signTvLxdl.setCompoundDrawables(drawable,null,null,null);
-
-
-        Drawable drawable1= getResources().getDrawable(R.drawable.sign_ljdk_w_bg);
-        drawable1.setBounds(0, 0, drawable1.getMinimumWidth(), drawable1.getMinimumHeight());
-        signTvLjdl.setCompoundDrawables(drawable1,null,null,null);
-
         UMConfigUtils.Event.PUNCH_ACCUMULATIVE_LIST.onEvent();
     }
-    private void selectRight() {
-        signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_normal);
-        signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
-        signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_hold);
-        signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
-
-        Drawable drawable2= getResources().getDrawable(R.drawable.sign_lxdk_w_bg);
-        drawable2.setBounds(0, 0, drawable2.getMinimumWidth(), drawable2.getMinimumHeight());
-        signTvLxdl.setCompoundDrawables(drawable2,null,null,null);
-
-
-        Drawable drawable3= getResources().getDrawable(R.drawable.sign_ljdk_bg);
-        drawable3.setBounds(0, 0, drawable3.getMinimumWidth(), drawable3.getMinimumHeight());
-        signTvLjdl.setCompoundDrawables(drawable3,null,null,null);
 
+    private void selectRight() {
         UMConfigUtils.Event.PUNCH_CONTINUATION.onEvent();
     }
 

+ 6 - 7
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -62,6 +62,7 @@ import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.AdpTaskDetailChildListview;
 import com.sheep.gamegroup.view.adapter.TaskdetailSonListviewAdp;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -684,7 +685,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        // TODO: add setContentView(...) invocation
+        if(savedInstanceState != null){
+            if(BuildConfig.DEBUG) G.showToast("重启了,应用自动审核悲剧了");
+        }
         ButterKnife.bind(this);
     }
 
@@ -889,11 +892,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             JSONObject object = new JSONObject();
             object.put("gps", gps);
 
-            final long runTime = AppUsageManager.getInstance().getTotalTimeInForeground(taskEty.getPackage_names());
-            if (runTime <= 0) {//时间小于等于0则不提交
-                G.showToast("该任务时长未达到,请继续去体验应用哦!"+(TestUtil.isTest()?"时长为:"+runTime+"毫秒":""));
-                return;
-            }
+            final long runTime = Math.max(AppUsageManager.getInstance().getTotalTimeInForeground(taskEty.getPackage_names()), 0);
             MyDbManager.getInstance().removeAppRecord();//删除记录表 5.0及以下使用
             AutoTaskListUtil.getInstance().resetReceiveTaskTime();//重置比对时间  5.1及以上使用
             AppUsageManager.getInstance().needOpenLookAppUsageStatsPermisson(true);//重新保存应用使用情况的数据
@@ -925,7 +924,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
                         @Override
                         public void onError(BaseMessage baseMessage) {
-                            G.showToast("该任务时长未达到,请继续去体验应用哦!"+(TestUtil.isTest()?"时长为:"+runTime/1000+"秒":""));
+                            G.showToast(baseMessage);
                         }
                     });
         } else {

+ 50 - 0
app/src/main/java/com/sheep/gamegroup/view/customview/CircleView.java

@@ -0,0 +1,50 @@
+package com.sheep.gamegroup.view.customview;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+/**
+ * Created by realicing on 2018/9/11.
+ * realicing@sina.com
+ */
+public class CircleView extends View {
+    public CircleView(Context context) {
+        super(context);
+        initPaint();
+    }
+
+    public CircleView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        initPaint();
+    }
+
+    public CircleView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initPaint();
+    }
+
+    private Paint paint;
+
+    private void initPaint() {
+        //画笔
+        paint = new Paint();
+        //设置颜色
+        paint.setColor(Color.parseColor("#2EBEF2"));
+        //设置是否为空心
+        paint.setStyle(Paint.Style.FILL);
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        canvas.drawCircle(G.WIDTH / 2, getHeight() / 2, G.WIDTH * 11 / 12, paint);
+    }
+}

+ 86 - 0
app/src/main/java/com/sheep/gamegroup/view/customview/PathMultiView.java

@@ -0,0 +1,86 @@
+package com.sheep.gamegroup.view.customview;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.util.AttributeSet;
+import android.view.View;
+
+/**
+ * Created by realicing on 2018/9/11.
+ * realicing@sina.com
+ */
+public class PathMultiView extends View {
+    private Paint paint;
+    private Path path;
+    private int width, height;
+
+    public PathMultiView(Context context) {
+        this(context, null);
+    }
+
+    public PathMultiView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public PathMultiView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initPaint();
+    }
+
+    private void initPaint() {
+        width = 400;
+        height = 400;
+        path = new Path();
+        paint = new Paint();
+        paint.setAntiAlias(true);
+        paint.setStrokeWidth(5);
+        paint.setColor(Color.BLUE);
+        paint.setStyle(Paint.Style.FILL);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        setMeasuredDimension(width, height);
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        drawMultiShape(canvas, 6, width / 2);
+    }
+
+    /**
+     * @param canvas 画布
+     * @param count  绘制几边形
+     * @param radius //外圆的半径
+     */
+    public void drawMultiShape(Canvas canvas, int count, float radius) {
+        canvas.translate(radius, radius);//
+        if (count < 5) {
+            return;
+        }
+        for (int i = 0; i < count; i++) {
+            if (i == 0) {
+                path.moveTo(radius * cos(360 / count * i), radius * sin(360 / count * i));//绘制起点
+            } else {
+                path.lineTo(radius * cos(360 / count * i), radius * sin(360 / count * i));
+            }
+        }
+        paint.setStrokeWidth(3);
+        path.close();
+        paint.setColor(Color.GREEN);
+        canvas.drawPath(path, paint);
+        //因为我下面不再绘制内容了 所以画布就不恢复了
+    }
+
+    float sin(int num) {
+        return (float) Math.sin(num * Math.PI / 180);
+    }
+
+    float cos(int num) {
+        return (float) Math.cos(num * Math.PI / 180);
+    }
+}

+ 4 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/BaseListFragment.java

@@ -106,6 +106,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
     }
 
     protected List<T> list = ListUtil.emptyList();
+    protected List<T> lastCacheList = ListUtil.emptyList();
     //默认先获取缓存
     protected boolean isFirstGetACache(){
         return true;
@@ -114,8 +115,8 @@ public abstract class BaseListFragment<T> extends BaseFragment {
         final String urlKey = getKey(page, per_page);
         if(isFirstGetACache()) {
             //先尝试获取缓存数据
-            List<T> newList = DataUtil.getInstance().getCacheList(urlKey, getTClass());
-            loadList(newList);
+            lastCacheList = DataUtil.getInstance().getCacheList(urlKey, getTClass());
+            loadList(lastCacheList);
         }
         SysAppUtil.checkNet(new Action1<Integer>() {
             @Override
@@ -138,6 +139,7 @@ public abstract class BaseListFragment<T> extends BaseFragment {
                         lastMessage = baseMessage;
                         boolean isNewData = DataUtil.getInstance().isNewData(urlKey);
                         if(isNewData || !isFirstGetACache()) {
+                            list.removeAll(lastCacheList);
                             List<T> newList = baseMessage.getDatas(getTClass());
                             loadList(newList);
                         }else {

+ 35 - 29
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignRankings.java

@@ -5,7 +5,6 @@ import android.os.Bundle;
 import android.support.annotation.Nullable;
 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;
@@ -15,6 +14,7 @@ import android.widget.TextView;
 
 import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
 import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.di.components.DaggerSignRankingsComponent;
 import com.sheep.gamegroup.di.modules.SignRankingsModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -41,7 +41,7 @@ import butterknife.Unbinder;
 /**
  * 本月排行榜
  */
-public class FgtSignRankings extends BaseFragment implements SignRankingsContract.View{
+public class FgtSignRankings extends BaseFragment implements SignRankingsContract.View {
 
     @Inject
     SignRankingsPresenter presenter;
@@ -63,12 +63,14 @@ public class FgtSignRankings extends BaseFragment implements SignRankingsContrac
         fgtSignRankings.setArguments(bundle);
         return fgtSignRankings;
     }
+
     private Activity activity;
+
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         activity = getActivity();
-        if(getArguments() != null)
+        if (getArguments() != null)
             type = getArguments().getInt("type", 0);
         DaggerSignRankingsComponent.builder()
                 .netComponent(SheepApp.getInstance().getNetComponent())
@@ -87,7 +89,7 @@ public class FgtSignRankings extends BaseFragment implements SignRankingsContrac
     public void onViewCreated() {
         activity = getActivity();
         signRankingsRecyclerView.setLayoutManager(new LinearLayoutManager(activity));
-        switch (type){
+        switch (type) {
             case 0://获取累计打卡
                 presenter.getTotalPunchTop();
                 break;
@@ -100,7 +102,7 @@ public class FgtSignRankings extends BaseFragment implements SignRankingsContrac
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         View rootView = super.onCreateView(inflater, container, savedInstanceState);
-        if(rootView != null)
+        if (rootView != null)
             unbinder = ButterKnife.bind(this, rootView);
         return rootView;
     }
@@ -115,41 +117,45 @@ public class FgtSignRankings extends BaseFragment implements SignRankingsContrac
     public void succPunch(BaseMessage o) {
         List<PunchEntity> list = o.getDatas(PunchEntity.class);
 
-        if(ListUtil.isEmpty(list)){
-            Log.d("Dream","empty type:"+type);
+        if (ListUtil.isEmpty(list)) {
             CommonUtil.getInstance().updateEmptyView(empty_view, true);
             main_content.setVisibility(View.GONE);
-        }else{
-            Log.d("Dream","empty type:"+type);
+        } else {
             empty_view.setVisibility(View.GONE);
             main_content.setVisibility(View.VISIBLE);
             recyclerViewAdapter = new RecyclerViewAdapter<PunchEntity>(SheepApp.getInstance(), R.layout.sign_rankings_item, list) {
                 @Override
-                public void convert(ViewHolder viewHolder, PunchEntity punchEntity, final int position) {
+                public void convert(ViewHolder viewHolder, PunchEntity item, final int position) {
                     ImageView sign_iv_icon = viewHolder.getView(R.id.sign_iv_icon);
                     TextView sign_tv_mc = viewHolder.getView(R.id.sign_tv_mc);
                     TextView sign_tv_name = viewHolder.getView(R.id.sign_tv_name);
                     TextView sign_tv_pm = viewHolder.getView(R.id.sign_tv_pm);
-                    if(position == 0){
-                        sign_iv_icon.setVisibility(View.VISIBLE);
-                        sign_tv_mc.setVisibility(View.GONE);
-                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_1);
-                    }else if(position == 1){
-                        sign_iv_icon.setVisibility(View.VISIBLE);
-                        sign_tv_mc.setVisibility(View.GONE);
-                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_2);
-                    }else if(position == 2){
-                        sign_iv_icon.setVisibility(View.VISIBLE);
-                        sign_tv_mc.setVisibility(View.GONE);
-                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_3);
-                    }else{
-                        sign_iv_icon.setVisibility(View.GONE);
-                        sign_tv_mc.setVisibility(View.VISIBLE);
-                        sign_tv_mc.setText(String.format(Locale.CHINA, "%s", position + 1));
+                    TextView sign_tv_bonus = viewHolder.getView(R.id.sign_tv_bonus);
+                    switch (position) {
+                        case 0:
+                            sign_iv_icon.setVisibility(View.VISIBLE);
+                            sign_tv_mc.setVisibility(View.GONE);
+                            sign_iv_icon.setImageResource(R.mipmap.ask_top_1);
+                            break;
+                        case 1:
+                            sign_iv_icon.setVisibility(View.VISIBLE);
+                            sign_tv_mc.setVisibility(View.GONE);
+                            sign_iv_icon.setImageResource(R.mipmap.ask_top_2);
+                            break;
+                        case 2:
+                            sign_iv_icon.setVisibility(View.VISIBLE);
+                            sign_tv_mc.setVisibility(View.GONE);
+                            sign_iv_icon.setImageResource(R.mipmap.ask_top_3);
+                            break;
+                        default:
+                            sign_iv_icon.setVisibility(View.GONE);
+                            sign_tv_mc.setVisibility(View.VISIBLE);
+                            sign_tv_mc.setText(String.format(Locale.CHINA, "%s", position + 1));
+                            break;
                     }
-
-                    sign_tv_name.setText(punchEntity.getNick_name());
-                    sign_tv_pm.setText(punchEntity.getNum());
+                    sign_tv_bonus.setText(NumberFormatUtils.retainMost2(item.getTotalBonus()));
+                    sign_tv_name.setText(item.getNick_name());
+                    sign_tv_pm.setText(item.getNum());
                 }
             };
             signRankingsRecyclerView.setAdapter(recyclerViewAdapter);

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -69,6 +69,8 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     private List<TaskAcceptedEty> acceptedEtyList = new ArrayList<>();
     private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
     private List<TaskReleaseEty> releaseEtyListsBegin = new ArrayList<>();
+    private List<TaskReleaseEty> lastCacheReleaseEtyLists = new ArrayList<>();
+    private List<TaskReleaseEty> lastCacheReleaseEtyListsBegin = new ArrayList<>();
     private int about_to_begin = 0;
     private String show_type;//有值代表来自主页
     private boolean isFromHome = false;//来自主页
@@ -467,9 +469,11 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             List<TaskReleaseEty> releaseEtyList = baseMessage.getDataList(TaskReleaseEty.class);
             switch (about_to_begin) {
                 case 0:
+                    releaseEtyLists.removeAll(lastCacheReleaseEtyLists);
                     ListUtil.addAll(releaseEtyLists, releaseEtyList);
                     break;
                 case 1:
+                    releaseEtyListsBegin.removeAll(lastCacheReleaseEtyListsBegin);
                     ListUtil.addAll(releaseEtyListsBegin, releaseEtyList);
                     break;
             }
@@ -507,9 +511,11 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
             List<TaskReleaseEty> cacheTaskReleaseEtyList = DataUtil.getInstance().getCacheList(ApiKey.release_task(about_to_begin == 0 ? releasePage : releaseBeginPage, per_page, about_to_begin, task_type, getIs_succession()), TaskReleaseEty.class);
             switch (about_to_begin) {
                 case 0:
+                    lastCacheReleaseEtyLists = cacheTaskReleaseEtyList;
                     ListUtil.addAll(releaseEtyLists, cacheTaskReleaseEtyList);
                     break;
                 case 1:
+                    lastCacheReleaseEtyListsBegin = cacheTaskReleaseEtyList;
                     ListUtil.addAll(releaseEtyListsBegin, cacheTaskReleaseEtyList);
                     break;
             }

BIN
app/src/main/res/drawable-xhdpi/sign_ljdk_bg.webp


BIN
app/src/main/res/drawable-xhdpi/sign_lxdk_bg.webp


BIN
app/src/main/res/drawable-xhdpi/sign_rankings_1.webp


BIN
app/src/main/res/drawable-xhdpi/sign_rankings_2.webp


BIN
app/src/main/res/drawable-xhdpi/sign_rankings_3.webp


BIN
app/src/main/res/drawable-xxhdpi/bule_bg1.webp


BIN
app/src/main/res/drawable-xxhdpi/bule_bg2.webp


BIN
app/src/main/res/drawable-xxhdpi/daka_btn.webp


BIN
app/src/main/res/drawable-xxhdpi/daka_btn_click.webp


BIN
app/src/main/res/drawable-xxhdpi/red_bg1.webp


BIN
app/src/main/res/drawable-xxhdpi/red_bg2.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_ljdk_bg.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_ljdk_w_bg.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_lxdk_bg.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_lxdk_w_bg.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_rankings_1.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_rankings_2.webp


BIN
app/src/main/res/drawable-xxhdpi/sign_rankings_3.webp


BIN
app/src/main/res/drawable-xxhdpi/yellow_bg1.webp


BIN
app/src/main/res/drawable-xxhdpi/yellow_bg2.webp


app/src/main/res/drawable-hdpi/layer_triangle_white.xml → app/src/main/res/drawable/layer_triangle_white.xml


+ 9 - 0
app/src/main/res/drawable/selector_button_daka.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+  <item android:state_enabled="false" android:drawable="@drawable/daka_btn_click" />
+  <item android:state_focused="true" android:drawable="@drawable/daka_btn_click" />
+  <item android:state_checked="true" android:drawable="@drawable/daka_btn_click"/>
+  <item android:state_selected="true" android:drawable="@drawable/daka_btn_click"/>
+  <item android:state_pressed="true" android:drawable="@drawable/daka_btn_click"/>
+  <item android:drawable="@drawable/daka_btn"/>
+</selector>

+ 6 - 0
app/src/main/res/drawable/shap_blue_btn_22.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="22dp" />
+    <solid android:color="#4889FF" />
+</shape>

+ 203 - 0
app/src/main/res/layout/act_sign_card.xml

@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <com.sheep.gamegroup.view.customview.CircleView
+            android:layout_width="wrap_content"
+            android:layout_height="800dp"
+            android:layout_marginTop="-440dp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical">
+
+            <include layout="@layout/title" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center_vertical"
+                    android:paddingEnd="13dp"
+                    android:paddingStart="13dp"
+                    android:text="明早打卡可平分"
+                    android:textColor="#ffffffff"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/sign_card_tip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:gravity="center"
+                    android:paddingEnd="16dp"
+                    android:paddingStart="16dp"
+                    android:text="活动说明"
+                    android:textColor="#ffffffff"
+                    android:textSize="11sp" />
+            </LinearLayout>
+
+            <TextView
+                android:id="@+id/sign_card_total_bonus"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:text="6432元"
+                android:textColor="#fff6ff00"
+                android:textSize="28sp" />
+
+            <TextView
+                android:id="@+id/sign_card_total_people"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:text="当前参与人数6324人"
+                android:textColor="#ffffffff"
+                android:textSize="13sp" />
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/sign_card_users"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="18dp"
+                android:layout_marginStart="18dp"
+                android:layout_marginTop="24dp" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="76dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="16dp"
+                android:text="今日战况"
+                android:textColor="#ff333333"
+                android:textSize="14sp" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="20dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="成功"
+                    android:textColor="#ff333333"
+                    android:textSize="13sp" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="失败"
+                    android:textColor="#ff333333"
+                    android:textSize="13sp" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="奖金"
+                    android:textColor="#ff333333"
+                    android:textSize="13sp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="4379人"
+                    android:textColor="#FD2D54"
+                    android:textSize="13sp" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="1238人"
+                    android:textColor="#2EBEF2"
+                    android:textSize="13sp" />
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:text="5617人"
+                    android:textColor="#FD8C1E"
+                    android:textSize="13sp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center_vertical"
+                    android:paddingEnd="16dp"
+                    android:paddingStart="16dp"
+                    android:text="今日之星"
+                    android:textColor="#ff333333"
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/sign_card_look_more"
+                    style="@style/style_wc_more"
+                    android:layout_height="match_parent"
+                    android:gravity="center_vertical"
+                    android:paddingEnd="16dp"
+                    android:paddingStart="16dp"
+                    android:text="查看详细榜单" />
+
+            </LinearLayout>
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/sign_card_super_users"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/sign_card_join"
+            android:layout_width="160dp"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="260dp"
+            android:background="@drawable/selector_button_daka"
+            android:gravity="center"
+            android:paddingBottom="6dp"
+            android:text="参加打卡挑战"
+            android:textColor="@color/white"
+            android:textSize="16sp" />
+    </RelativeLayout>
+</android.support.v4.widget.NestedScrollView>

+ 76 - 0
app/src/main/res/layout/item_super_user.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:orientation="vertical"
+    android:paddingEnd="5dp"
+    android:paddingStart="5dp">
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="70dp"
+        android:layout_gravity="center">
+
+        <ImageView
+            android:id="@+id/item_super_user_bg1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="10dp"
+            android:src="@drawable/bule_bg1" />
+
+        <ImageView
+            android:id="@+id/item_super_user_iv"
+            android:layout_width="60dp"
+            android:layout_height="60dp"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center"
+            android:layout_marginBottom="10dp"
+            android:src="@drawable/icon" />
+
+        <ImageView
+            android:id="@+id/item_super_user_bg2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:src="@drawable/bule_bg2" />
+        <TextView
+            android:id="@+id/item_super_user_tv1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="3dp"
+            android:text="早起之星"
+            android:textColor="#ffffffff"
+            android:textSize="12sp"
+            />
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/item_super_user_tv2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:lines="1"
+        android:layout_marginTop="8dp"
+        android:text="绵羊号03648965"
+        android:textColor="#ff999999"
+        android:textSize="12sp" />
+
+    <TextView
+        android:id="@+id/item_super_user_tv3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="8dp"
+        android:ellipsize="end"
+        android:lines="1"
+        android:text="7:00打卡"
+        android:textColor="#333333"
+        android:textSize="12sp" />
+</LinearLayout>

+ 26 - 0
app/src/main/res/layout/item_user.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:orientation="vertical">
+
+    <ImageView
+        android:id="@+id/item_user_iv"
+        android:layout_width="32dp"
+        android:layout_height="32dp"
+        android:layout_gravity="center"
+        android:src="@drawable/icon" />
+
+    <TextView
+        android:id="@+id/item_user_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="8dp"
+        android:ellipsize="end"
+        android:lines="1"
+        android:text="昵称"
+        android:textColor="#ffffff"
+        android:textSize="10sp" />
+</LinearLayout>

+ 17 - 7
app/src/main/res/layout/sign_rankings_item.xml

@@ -8,7 +8,7 @@
     <LinearLayout
         android:layout_width="0.0dp"
         android:layout_height="wrap_content"
-        android:layout_weight="1"
+        android:layout_weight="2"
         android:gravity="center"
         android:orientation="vertical">
 
@@ -16,7 +16,7 @@
             android:id="@+id/sign_iv_icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@drawable/sign_rankings_1" />
+            android:src="@mipmap/ask_top_1" />
 
         <TextView
             android:id="@+id/sign_tv_mc"
@@ -26,17 +26,17 @@
             android:text="4"
             android:textColor="#535353"
             android:textSize="@dimen/text_size_10"
-            android:visibility="gone"/>
+            android:visibility="gone" />
     </LinearLayout>
 
     <TextView
         android:id="@+id/sign_tv_name"
         android:layout_width="0.0dp"
         android:layout_height="match_parent"
-        android:layout_weight="2"
+        android:layout_weight="3"
         android:gravity="center_vertical"
-        android:text="你是沸羊羊"
         android:paddingLeft="@dimen/content_padding_10"
+        android:text="159****2881"
         android:textColor="#cc282828"
         android:textSize="@dimen/text_size_10" />
 
@@ -44,9 +44,19 @@
         android:id="@+id/sign_tv_pm"
         android:layout_width="0.0dp"
         android:layout_height="match_parent"
-        android:layout_weight="1"
+        android:layout_weight="2"
+        android:gravity="center"
+        android:text="360"
+        android:textColor="#cc282828"
+        android:textSize="@dimen/text_size_10" />
+
+    <TextView
+        android:id="@+id/sign_tv_bonus"
+        android:layout_width="0.0dp"
+        android:layout_height="match_parent"
+        android:layout_weight="2"
         android:gravity="center"
-        android:text="26"
+        android:text="1.4元"
         android:textColor="#cc282828"
         android:textSize="@dimen/text_size_10" />
 

+ 4 - 50
app/src/main/res/layout/sign_rankings_layout.xml

@@ -2,60 +2,14 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/bg_gray"
+    android:background="@color/white"
     android:orientation="vertical">
 
     <include layout="@layout/title" />
 
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="47dp"
-        android:orientation="horizontal"
-        android:layout_marginTop="@dimen/content_padding_10"
-        >
-
-        <RelativeLayout
-            android:id="@+id/sign_rl_ljdl"
-            android:layout_width="0.0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/shape_sign_rankings_left_hold"
-            >
-
-            <TextView
-                android:id="@+id/sign_tv_ljdl"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerInParent="true"
-                android:drawableLeft="@drawable/sign_ljdk_w_bg"
-                android:drawablePadding="@dimen/content_padding_10"
-                android:text="累计打卡"
-                android:textColor="@color/white"
-                android:textSize="@dimen/text_size_3" />
-        </RelativeLayout>
-
-        <RelativeLayout
-            android:id="@+id/sign_rl_lxdl"
-            android:layout_width="0.0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/shape_sign_rankings_right_normal"
-            >
-
-            <TextView
-                android:id="@+id/sign_tv_lxdl"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerInParent="true"
-                android:drawableLeft="@drawable/sign_lxdk_bg"
-                android:drawablePadding="@dimen/content_padding_10"
-                android:text="连续打卡"
-                android:textColor="@color/black"
-                android:textSize="@dimen/text_size_3" />
-        </RelativeLayout>
-    </LinearLayout>
-
+    <android.support.design.widget.TabLayout
+        android:id="@+id/sign_tab"
+        style="@style/style_tab" />
 
     <android.support.v4.view.ViewPager
         android:id="@+id/sign_ViewPager"

+ 2 - 1
app/src/main/res/layout/title.xml

@@ -53,7 +53,8 @@
             style="?android:attr/borderlessButtonStyle"
             android:layout_width="wrap_content"
             android:layout_height="@dimen/app_nav_toolbar_height"
-            android:layout_marginEnd="17dp"
+            android:paddingEnd="17dp"
+            android:paddingStart="17dp"
             android:background="@color/translate"
             android:gravity="center_vertical|end"
             android:lines="1"