소스 검색

修复我的战绩界面刷新问题

zengjiebin 7 년 전
부모
커밋
8ab12469f1

+ 1 - 91
app/src/main/java/com/sheep/gamegroup/view/activity/ActSignCardRecord.java

@@ -1,59 +1,25 @@
 package com.sheep.gamegroup.view.activity;
 
-import android.graphics.Color;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
 import android.view.View;
-import android.widget.TextView;
 
-import com.haibin.calendarview.Calendar;
-import com.haibin.calendarview.CalendarView;
 import com.sheep.gamegroup.absBase.BaseActivity;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.PunchLogEntity;
-import com.sheep.gamegroup.model.entity.StatisticsEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
-import com.sheep.gamegroup.util.Jump2View;
-import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.fragment.FgtSignCardRecord;
 import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import butterknife.BindView;
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
 /**
  * Created by realicing on 2018/9/11.
  * realicing@sina.com
  */
 public class ActSignCardRecord extends BaseActivity {
-    @BindView(R.id.sign_card_record_cv)
-    CalendarView sign_card_record_cv;
-    @BindView(R.id.total_award)
-    TextView total_award;
-    @BindView(R.id.total_money)
-    TextView total_money;
-    @BindView(R.id.total_punch_count)
-    TextView total_punch_count;
-    @BindView(R.id.continue_punch_count)
-    TextView continue_punch_count;
-    @BindView(R.id.frame_container_bottom)
-    View frame_container_bottom;
 
     @Override
     protected int getLayoutId() {
-        return R.layout.act_sign_card_record;
+        return R.layout.common_container_act;
     }
 
     private ActSignCardRecord activity;
@@ -85,10 +51,6 @@ public class ActSignCardRecord extends BaseActivity {
             transaction.replace(R.id.frame_container, fragment);
             transaction.commitAllowingStateLoss();
         }
-        ViewUtil.setDefaultText(total_award);
-        ViewUtil.setText(total_money);
-        ViewUtil.setText(total_punch_count);
-        ViewUtil.setText(continue_punch_count);
     }
 
 
@@ -98,58 +60,6 @@ public class ActSignCardRecord extends BaseActivity {
 
     @Override
     public void initData() {
-        initStatistics();
     }
 
-    private void initStatistics() {
-        SheepApp.getInstance().getNetComponent().getApiService().getStatistics()
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        StatisticsEntity result = baseMessage.getData(StatisticsEntity.class);
-                        ViewUtil.setText(total_award, result.getTotal_award());
-                        ViewUtil.setText(total_money, result.getTotal_money());
-                        ViewUtil.setText(total_punch_count, result.getTotal_punch_count());
-                        ViewUtil.setText(continue_punch_count, result.getContinue_punch_count());
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        G.showToast(baseMessage);
-                    }
-                });
-    }
-
-    /**
-     * 标记日期时间
-     */
-    public void updateCalendarSchemeDate(List<PunchLogEntity> newList) {
-        if(ListUtil.isEmpty(newList)){
-            frame_container_bottom.setVisibility(View.VISIBLE);
-            return;
-        }
-        int year = sign_card_record_cv.getCurYear();
-        int month = sign_card_record_cv.getCurMonth();
-        Map<String, Calendar> map = new HashMap<>();
-        for (PunchLogEntity item : newList) {
-            java.util.Calendar date = java.util.Calendar.getInstance(Locale.CHINA);
-            date.setTimeInMillis(item.getCreateTime() * 1000);
-            if(year == date.get(java.util.Calendar.YEAR) && month == date.get(java.util.Calendar.MONTH)){
-                Calendar calendar = getSchemeCalendar(year, month, date.get(java.util.Calendar.DAY_OF_MONTH));
-                map.put(calendar.toString(), calendar);
-            }
-        }
-        sign_card_record_cv.setSchemeDate(map);
-    }
-
-    private Calendar getSchemeCalendar(int year, int month, int day) {
-        Calendar calendar = new Calendar();
-        calendar.setYear(year);
-        calendar.setMonth(month);
-        calendar.setDay(day);
-        calendar.setSchemeColor(Color.parseColor("#FD2D54"));
-        return calendar;
-    }
 }

+ 4 - 2
app/src/main/java/com/sheep/gamegroup/view/customview/CalendarMonthView.java

@@ -12,6 +12,7 @@ import com.haibin.calendarview.MonthView;
 /**
  * Created by realicing on 2018/9/12.
  * realicing@sina.com
+ * 不要删除这个文件,否则不能正常运行,其在布局文件中有隐性引用
  */
 public class CalendarMonthView extends MonthView {
 
@@ -41,7 +42,7 @@ public class CalendarMonthView extends MonthView {
         this.mSolarTermTextPaint.setTextAlign(Paint.Align.CENTER);
         this.mSolarTermTextPaint.setColor(Color.parseColor("#4889FF"));
         this.mSolarTermTextPaint.setTextSize(mCurMonthTextPaint.getTextSize());
-        this.mPadding = 0;//dipToPx(this.getContext(), 4.0F);
+        this.mPadding = dipToPx(this.getContext(), 4.0F);
 //        this.mRadio = (float) dipToPx(this.getContext(), 7.0F);
 //        Paint.FontMetrics metrics = this.mSchemeBasicPaint.getFontMetrics();
 //        this.mSchemeBaseLine = this.mRadio - metrics.descent + (metrics.bottom - metrics.top) / 2.0F + (float) dipToPx(this.getContext(), 1.0F);
@@ -57,7 +58,8 @@ public class CalendarMonthView extends MonthView {
 
     protected void onDrawScheme(Canvas canvas, Calendar calendar, int x, int y) {
         this.mSchemeBasicPaint.setColor(calendar.getSchemeColor());
-        canvas.drawRect((float) (x + this.mPadding), (float) (y + this.mPadding), (float) (x + this.mItemWidth - this.mPadding), (float) (y + this.mItemHeight - this.mPadding), this.mSchemeBasicPaint);
+//        canvas.drawRect((float) (x + this.mPadding), (float) (y + this.mPadding), (float) (x + this.mItemWidth - this.mPadding), (float) (y + this.mItemHeight - this.mPadding), this.mSchemeBasicPaint);
+        canvas.drawRect((float) (x), (float) (y), (float) (x + this.mItemWidth), (float) (y + this.mItemHeight), this.mSchemeBasicPaint);
 //        canvas.drawRoundRect((float) (x + this.mPadding), (float) (y + this.mPadding), (float) (x + this.mItemWidth - this.mPadding), (float) (y + this.mItemHeight - this.mPadding), this.mSchemeBasicPaint);
 //        canvas.drawText(calendar.getScheme(), (float) (x + this.mItemWidth - this.mPadding) - this.mRadio / 2.0F - this.getTextWidth(calendar.getScheme()) / 2.0F, (float) (y + this.mPadding) + this.mSchemeBaseLine, this.mTextPaint);
     }

+ 100 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSignCardRecord.java

@@ -1,27 +1,69 @@
 package com.sheep.gamegroup.view.fragment;
 
+import android.graphics.Color;
 import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
 import android.widget.TextView;
 
+import com.haibin.calendarview.Calendar;
+import com.haibin.calendarview.CalendarView;
 import com.kfzs.appstore.utils.adapter.recyclerview.RecyclerViewAdapter;
 import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.PunchLogEntity;
+import com.sheep.gamegroup.model.entity.StatisticsEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.activity.ActSignCardRecord;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
 
+import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 
 import rx.Observable;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
 
 /**
  * Created by realicing on 2018/9/17.
  * realicing@sina.com
  */
 public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
+    CalendarView sign_card_record_cv;
+    TextView total_award;
+    TextView total_money;
+    TextView total_punch_count;
+    TextView continue_punch_count;
+    @Override
+    public void initView() {
+        per_page = 50;
+        super.initView();
+        view_list.setNestedScrollingEnabled(false);
+        View view = LayoutInflater.from(activity).inflate(R.layout.header_sign_card_record, null);
+        view_list.addHeaderView(view);
+        sign_card_record_cv = view.findViewById(R.id.sign_card_record_cv);
+        total_award = view.findViewById(R.id.total_award);
+        total_money = view.findViewById(R.id.total_money);
+        total_punch_count = view.findViewById(R.id.total_punch_count);
+        continue_punch_count = view.findViewById(R.id.continue_punch_count);
+        ViewUtil.setDefaultText(total_award);
+        ViewUtil.setText(total_money);
+        ViewUtil.setText(total_punch_count);
+        ViewUtil.setText(continue_punch_count);
+    }
+
+    @Override
+    public synchronized void initData() {
+        super.initData();
+        initStatistics();
+    }
+
     @Override
     protected RecyclerView.Adapter getAdapter() {
         return new RecyclerViewAdapter<PunchLogEntity>(SheepApp.getInstance(), R.layout.item_sign_card_record, list) {
@@ -54,7 +96,62 @@ public class FgtSignCardRecord extends  BaseListFragment<PunchLogEntity>{
 
     @Override
     public void notifyData() {
-        if(activity instanceof ActSignCardRecord)
-            ((ActSignCardRecord)activity).updateCalendarSchemeDate(list);
+        updateCalendarSchemeDate(list);
+    }
+    private void initStatistics() {
+        SheepApp.getInstance().getNetComponent().getApiService().getStatistics()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        StatisticsEntity result = baseMessage.getData(StatisticsEntity.class);
+                        ViewUtil.setText(total_award, result.getTotal_award());
+                        ViewUtil.setText(total_money, result.getTotal_money());
+                        ViewUtil.setText(total_punch_count, result.getTotal_punch_count());
+                        ViewUtil.setText(continue_punch_count, result.getContinue_punch_count());
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+    private boolean theMonthFull = false;
+    /**
+     * 标记日期时间
+     */
+    public void updateCalendarSchemeDate(List<PunchLogEntity> newList) {
+        if(ListUtil.isEmpty(newList)){
+            return;
+        }
+        if(theMonthFull){//只加载本月数据
+            return;
+        }
+        int year = sign_card_record_cv.getCurYear();
+        int month = sign_card_record_cv.getCurMonth();
+        Map<String, Calendar> map = new HashMap<>();
+        for (PunchLogEntity item : newList) {
+            java.util.Calendar date = java.util.Calendar.getInstance(Locale.CHINA);
+            date.setTimeInMillis(item.getCreateTime() * 1000);
+            if(year == date.get(java.util.Calendar.YEAR) && month == 1 + date.get(java.util.Calendar.MONTH)){
+                Calendar calendar = getSchemeCalendar(year, month, date.get(java.util.Calendar.DAY_OF_MONTH));
+                map.put(calendar.toString(), calendar);
+            } else {
+                theMonthFull = true;
+                break;
+            }
+        }
+        sign_card_record_cv.setSchemeDate(map);
+    }
+
+    private Calendar getSchemeCalendar(int year, int month, int day) {
+        Calendar calendar = new Calendar();
+        calendar.setYear(year);
+        calendar.setMonth(month);
+        calendar.setDay(day);
+        calendar.setSchemeColor(Color.parseColor("#FD2D54"));
+        return calendar;
     }
 }

+ 0 - 202
app/src/main/res/layout/act_sign_card_record.xml

@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/white"
-    android:orientation="vertical">
-
-    <include layout="@layout/title" />
-
-    <android.support.v4.widget.NestedScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-
-            <com.haibin.calendarview.CalendarView
-                android:id="@+id/sign_card_record_cv"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:background="#FFE866"
-                app:month_view="com.sheep.gamegroup.view.customview.CalendarMonthView"
-                app:week_bar_view="com.haibin.calendarview.WeekBar"
-                app:calendar_height="46dp"
-                app:current_day_text_color="#ffffff"
-                app:current_day_lunar_text_color="#ffffff"
-                app:current_month_text_color="#333333"
-                app:current_month_lunar_text_color="#999999"
-                app:day_text_size="12sp"
-                app:lunar_text_size="12sp"
-                app:min_year="2018"
-                app:scheme_month_text_color="#ffffff"
-                app:scheme_lunar_text_color="#ffffff"
-                app:month_view_scrollable="false"
-                app:week_background="#FFE866"
-                app:week_start_with="mon"
-                app:month_view_show_mode="mode_only_current"
-                app:week_text_color="#111" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="40dp"
-                android:orientation="horizontal"
-                android:background="#FFE866">
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="2"/>
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:gravity="center"
-                    android:text="当前日期"
-                    android:textColor="@color/black_666666"
-                    android:textSize="9sp"
-                    android:drawablePadding="7dp"
-                    android:drawableStart="@drawable/shape_oval_blue_8"/>
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"/>
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:gravity="center"
-                    android:text="成功打卡"
-                    android:textColor="@color/black_666666"
-                    android:textSize="9sp"
-                    android:drawablePadding="7dp"
-                    android:drawableStart="@drawable/shape_oval_red_8"/>
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="2"/>
-            </LinearLayout>
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="50dp"
-                android:gravity="center_vertical"
-                android:paddingEnd="16dp"
-                android:paddingStart="16dp"
-                android:text="打卡统计"
-                android:textColor="#ff333333"
-                android:textSize="14sp" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                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" />
-
-                <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:id="@+id/total_award"
-                    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:id="@+id/total_money"
-                    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:id="@+id/total_punch_count"
-                    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" />
-
-                <TextView
-                    android:id="@+id/continue_punch_count"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:text="5617人"
-                    android:textColor="#00BC3E"
-                    android:textSize="13sp" />
-            </LinearLayout>
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="50dp"
-                android:gravity="center_vertical"
-                android:paddingEnd="16dp"
-                android:paddingStart="16dp"
-                android:text="打卡记录"
-                android:textColor="#ff333333"
-                android:textSize="14sp" />
-
-            <include layout="@layout/item_sign_card_record_title" />
-
-            <FrameLayout
-                android:id="@+id/frame_container"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"/>
-            <View
-                android:id="@+id/frame_container_bottom"
-                android:layout_width="match_parent"
-                android:layout_height="100dp"
-                android:visibility="gone"/>
-        </LinearLayout>
-    </android.support.v4.widget.NestedScrollView>
-</LinearLayout>

+ 189 - 0
app/src/main/res/layout/header_sign_card_record.xml

@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.haibin.calendarview.CalendarView
+            android:id="@+id/sign_card_record_cv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="#FFE866"
+            app:calendar_height="46dp"
+            app:current_day_lunar_text_color="#ffffff"
+            app:current_day_text_color="#ffffff"
+            app:current_month_lunar_text_color="#999999"
+            app:current_month_text_color="#333333"
+            app:day_text_size="12sp"
+            app:lunar_text_size="12sp"
+            app:min_year="2018"
+            app:month_view="com.sheep.gamegroup.view.customview.CalendarMonthView"
+            app:month_view_scrollable="false"
+            app:month_view_show_mode="mode_only_current"
+            app:scheme_lunar_text_color="#ffffff"
+            app:scheme_month_text_color="#ffffff"
+            app:week_background="#FFE866"
+            app:week_bar_view="com.haibin.calendarview.WeekBar"
+            app:week_start_with="mon"
+            app:week_text_color="#111" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="#FFE866"
+            android:orientation="horizontal">
+
+            <View
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="2" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:drawablePadding="7dp"
+                android:drawableStart="@drawable/shape_oval_blue_8"
+                android:gravity="center"
+                android:text="当前日期"
+                android:textColor="@color/black_666666"
+                android:textSize="9sp" />
+
+            <View
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:drawablePadding="7dp"
+                android:drawableStart="@drawable/shape_oval_red_8"
+                android:gravity="center"
+                android:text="成功打卡"
+                android:textColor="@color/black_666666"
+                android:textSize="9sp" />
+
+            <View
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="2" />
+        </LinearLayout>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:gravity="center_vertical"
+            android:paddingEnd="16dp"
+            android:paddingStart="16dp"
+            android:text="打卡统计"
+            android:textColor="#ff333333"
+            android:textSize="14sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            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" />
+
+            <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:id="@+id/total_award"
+                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:id="@+id/total_money"
+                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:id="@+id/total_punch_count"
+                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" />
+
+            <TextView
+                android:id="@+id/continue_punch_count"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="5617人"
+                android:textColor="#00BC3E"
+                android:textSize="13sp" />
+        </LinearLayout>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="50dp"
+            android:gravity="center_vertical"
+            android:paddingEnd="16dp"
+            android:paddingStart="16dp"
+            android:text="打卡记录"
+            android:textColor="#ff333333"
+            android:textSize="14sp" />
+
+        <include layout="@layout/item_sign_card_record_title" />
+
+    </LinearLayout>
+</RelativeLayout>