diff --git a/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java
new file mode 100644
index 0000000..fdd54b9
--- /dev/null
+++ b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java
@@ -0,0 +1,52 @@
+package com.shunzhi.parent.adapter;
+
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
+import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
+import com.shunzhi.parent.R;
+import com.shunzhi.parent.bean.ReportBean;
+import com.shunzhi.parent.views.ProgressView;
+
+/**
+ * Created by Administrator on 2018/3/9 0009.
+ */
+
+public class ReportAdapter extends BaseRecyclerViewAdapter<ReportBean> {
+
+    Context context;
+
+    public ReportAdapter(Context context) {
+        this.context = context;
+    }
+
+
+    @Override
+    public BaseRecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(context).inflate(R.layout.item_report, null);
+        return new MyViewHolder(view);
+    }
+
+    private class MyViewHolder extends BaseRecyclerViewHolder<ReportBean> {
+
+        ProgressView ringView;
+
+
+        public MyViewHolder(View view) {
+            super(view);
+            ringView = view.findViewById(R.id.ring);
+        }
+
+        @Override
+        public void onBindViewHolder(ReportBean object, int position) {
+            ringView.setMaxCount(100.0f);
+            ringView.setCurrentCount(100);
+            ringView.setScore(100);
+        }
+
+    }
+}
diff --git a/app/src/main/java/com/shunzhi/parent/bean/ReportBean.java b/app/src/main/java/com/shunzhi/parent/bean/ReportBean.java
new file mode 100644
index 0000000..434d2ec
--- /dev/null
+++ b/app/src/main/java/com/shunzhi/parent/bean/ReportBean.java
@@ -0,0 +1,8 @@
+package com.shunzhi.parent.bean;
+
+/**
+ * Created by Administrator on 2018/3/9 0009.
+ */
+
+public class ReportBean {
+}
diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
index e9beb34..4a162c7 100644
--- a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
+++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
@@ -1,23 +1,49 @@
 package com.shunzhi.parent.ui.fragment;
 
-import android.content.Context;
-import android.net.Uri;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.view.View;
-import android.view.ViewGroup;
 
+import com.share.mvpsdk.base.BasePresenter;
+import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
 import com.shunzhi.parent.R;
+import com.shunzhi.parent.adapter.ReportAdapter;
+import com.shunzhi.parent.bean.ReportBean;
 
-public class ReportFragment extends Fragment {
+import java.util.ArrayList;
+import java.util.List;
+
+public class ReportFragment extends BaseMVPCompatFragment {
+    RecyclerView recycler_report;
+    ReportAdapter reportAdapter;
+    List<ReportBean>list=new ArrayList<>();
+
+    @NonNull
+    @Override
+    public BasePresenter initPresenter() {
+        return null;
+    }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-        // Inflate the layout for this fragment
-        return inflater.inflate(R.layout.fragment_report, container, false);
+    public int getLayoutId() {
+        return R.layout.fragment_report;
     }
 
+    @Override
+    public void initUI(View view, @Nullable Bundle savedInstanceState) {
+        recycler_report = view.findViewById(R.id.recycle_report);
+        recycler_report.setLayoutManager(new LinearLayoutManager(getActivity()));
+        reportAdapter=new ReportAdapter(getActivity());
+        ReportBean reportBean=new ReportBean();
+        list.add(reportBean);
+        list.add(reportBean);
+        reportAdapter.addAll(list);
+        recycler_report.setAdapter(reportAdapter);
+
 
+
+    }
 }
diff --git a/app/src/main/java/com/shunzhi/parent/views/ProgressView.java b/app/src/main/java/com/shunzhi/parent/views/ProgressView.java
new file mode 100644
index 0000000..c66ccd5
--- /dev/null
+++ b/app/src/main/java/com/shunzhi/parent/views/ProgressView.java
@@ -0,0 +1,181 @@
+package com.shunzhi.parent.views;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.Paint.Cap;
+import android.graphics.Paint.Style;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.RectF;
+import android.graphics.SweepGradient;
+import android.util.AttributeSet;
+import android.view.View;
+
+/***
+ * 自定义圆弧进度条
+ *
+ * @author liujing
+ */
+public class ProgressView extends View {
+
+    //分段颜色
+    private static final int[] SECTION_COLORS = {Color.RED, Color.YELLOW,Color.GREEN};
+    private static final String[] ALARM_LEVEL = {"", "", "", ""};
+    private float maxCount;
+    private float currentCount;
+    private int score;
+    private String crrentLevel;
+    private Paint mPaint;
+    private Paint mTextPaint;
+    private int mWidth, mHeight;
+
+    public ProgressView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init(context);
+    }
+
+    public ProgressView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public ProgressView(Context context) {
+        this(context, null);
+    }
+
+    private void init(Context context) {
+        mPaint = new Paint();
+        mTextPaint = new Paint();
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        initPaint();
+        RectF rectBlackBg = new RectF(20, 20, mWidth - 20, mHeight - 20);
+        canvas.drawArc(rectBlackBg, 0, 275, false, mPaint);
+        mPaint.setColor(getColor(score));
+        canvas.drawText(score + "%", mWidth / 2, mHeight / 2, mTextPaint);
+        mTextPaint.setTextSize(40);
+
+        SweepGradient sweepGradient = new SweepGradient(mWidth / 2, mWidth / 2, SECTION_COLORS, null);
+        Matrix matrix = new Matrix();
+        matrix.setRotate(120, this.mWidth / 2, mWidth / 2);
+        sweepGradient.setLocalMatrix(matrix);
+        float section = currentCount / maxCount;
+        mPaint.setShader(sweepGradient);
+
+        mPaint.setShader(sweepGradient);
+        mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));
+        mPaint.setStyle(Style.STROKE);
+        canvas.drawArc(rectBlackBg, 135, section * 275, false, mPaint);
+    }
+
+
+    private void initPaint() {
+        mPaint.setAntiAlias(true);
+        mPaint.setStrokeWidth((float) 40.0);
+        mPaint.setStyle(Style.STROKE);
+        mPaint.setStrokeCap(Cap.ROUND);
+        mPaint.setColor(Color.TRANSPARENT);
+        mTextPaint.setAntiAlias(true);
+        mTextPaint.setStrokeWidth((float) 3.0);
+        mTextPaint.setTextAlign(Paint.Align.CENTER);
+        mTextPaint.setTextSize(50);
+        mTextPaint.setColor(Color.BLACK);
+
+    }
+
+    private int dipToPx(int dip) {
+        float scale = getContext().getResources().getDisplayMetrics().density;
+        return (int) (dip * scale + 0.5f * (dip >= 0 ? 1 : -1));
+    }
+
+    public int getScore() {
+        return score;
+    }
+
+    public String getCrrentLevel() {
+        return crrentLevel;
+    }
+
+    public void setCrrentLevel(String crrentLevel) {
+        this.crrentLevel = crrentLevel;
+    }
+
+    public float getMaxCount() {
+        return maxCount;
+    }
+
+    public float getCurrentCount() {
+        return currentCount;
+    }
+
+    public void setScore(int score) {
+        this.score = score;
+        if (score == 100) {
+            this.crrentLevel = ALARM_LEVEL[0];
+        } else if (score >= 70 && score < 100) {
+            this.crrentLevel = ALARM_LEVEL[1];
+        } else if (score >= 30 && score < 70) {
+            this.crrentLevel = ALARM_LEVEL[2];
+        } else {
+            this.crrentLevel = ALARM_LEVEL[3];
+        }
+        invalidate();
+    }
+    public int getColor(int score) {
+        this.score = score;
+      if (score > 60 && score <= 100) {
+           return  SECTION_COLORS[2];
+        } else if (score >= 30 && score <= 60) {
+          return SECTION_COLORS[1];
+        } else {
+          return SECTION_COLORS[0];
+        }
+
+    }
+
+    /***
+     * 设置最大的进度值
+     *
+     * @param maxCount
+     */
+    public void setMaxCount(float maxCount) {
+        this.maxCount = maxCount;
+    }
+
+    /***
+     * 设置当前的进度值
+     *
+     * @param currentCount
+     */
+    public void setCurrentCount(float currentCount) {
+        this.currentCount = currentCount > maxCount ? maxCount : currentCount;
+        invalidate();
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int widthSpecMode = MeasureSpec.getMode(widthMeasureSpec);
+        int widthSpecSize = MeasureSpec.getSize(widthMeasureSpec);
+        int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec);
+        int heightSpecSize = MeasureSpec.getSize(heightMeasureSpec);
+        if (widthSpecMode == MeasureSpec.EXACTLY
+                || widthSpecMode == MeasureSpec.AT_MOST) {
+            mWidth = widthSpecSize;
+        } else {
+            mWidth = 0;
+        }
+        if (heightSpecMode == MeasureSpec.AT_MOST
+                || heightSpecMode == MeasureSpec.UNSPECIFIED) {
+            mHeight = dipToPx(15);
+        } else {
+            mHeight = heightSpecSize;
+        }
+        setMeasuredDimension(mWidth, mHeight);
+    }
+
+    }
diff --git a/app/src/main/res/drawable/report_white.xml b/app/src/main/res/drawable/report_white.xml
new file mode 100644
index 0000000..0f54385
--- /dev/null
+++ b/app/src/main/res/drawable/report_white.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
+    <stroke android:color="#00000000" android:width="1dp"/>
+    <solid android:color="@color/white" />
+    <corners android:radius="10dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rudiobtn_report_top.xml b/app/src/main/res/drawable/rudiobtn_report_top.xml
new file mode 100644
index 0000000..8a9e975
--- /dev/null
+++ b/app/src/main/res/drawable/rudiobtn_report_top.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
+    <stroke android:color="#00000000" android:width="1dp"/>
+    <solid android:color="#AACFFC" />
+    <corners android:topLeftRadius="10dp" android:topRightRadius="10dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_report.xml b/app/src/main/res/layout/fragment_report.xml
index e1408fe..8d3f24f 100644
--- a/app/src/main/res/layout/fragment_report.xml
+++ b/app/src/main/res/layout/fragment_report.xml
@@ -49,8 +49,25 @@
         android:drawableRight="@drawable/screen"
         />
 </LinearLayout>
+<LinearLayout
+    android:layout_width="match_parent"
+    android:layout_height="60dp">
+<TextView
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:text="日期控件"
+    android:textColor="@color/white"
+    android:gravity="center"
+    android:background="@color/textRed"
+    />
 
+</LinearLayout>
+<android.support.v7.widget.RecyclerView
+    android:id="@+id/recycle_report"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
+</android.support.v7.widget.RecyclerView>
 </LinearLayout>
 
 </FrameLayout>
diff --git a/app/src/main/res/layout/item_report.xml b/app/src/main/res/layout/item_report.xml
new file mode 100644
index 0000000..8c2a35f
--- /dev/null
+++ b/app/src/main/res/layout/item_report.xml
@@ -0,0 +1,103 @@
+<?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="match_parent">
+
+        <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="250dp"
+        android:layout_margin="20dp"
+        android:background="@drawable/report_white"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:background="@drawable/rudiobtn_report_top"
+            android:gravity="center_vertical"
+            android:paddingLeft="20dp"
+            android:text="语文作业报告"
+            android:textColor="#20519f"
+            android:textSize="@dimen/sp_16" />
+
+            <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="80dp"
+                android:layout_height="match_parent"
+                android:layout_marginTop="10dp"
+                android:orientation="vertical">
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:text="12"
+                    android:textColor="@color/textGreen"
+                    android:textSize="@dimen/txtsize_num" />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:text="正确"
+                    android:textColor="@color/textGreen"
+                    android:textSize="@dimen/sp_16" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:layout_centerInParent="true"
+                android:gravity="center_horizontal"
+             >
+                <com.shunzhi.parent.views.ProgressView
+                    android:id="@+id/ring"
+                    android:layout_width="160dp"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="10dp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="80dp"
+                android:layout_height="match_parent"
+                android:layout_marginTop="10dp"
+                android:layout_alignParentRight="true"
+                android:orientation="vertical">
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:text="8"
+                    android:textColor="@color/textRed"
+                    android:textSize="@dimen/txtsize_num" />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:text="错误"
+                    android:textColor="@color/textRed"
+                    android:textSize="@dimen/sp_16" />
+            </LinearLayout>
+
+        </RelativeLayout>
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:height="40dp"
+            android:gravity="center_vertical"
+            android:paddingLeft="20dp"
+            android:text="3月4日语文作业"
+            android:textColor="@color/text_color"
+            android:textSize="@dimen/sp_14" />
+
+    </LinearLayout>
+</LinearLayout>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 583d122..6a78ac2 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -18,4 +18,5 @@
     <color name="zxlx">#1BE2E5</color>
     <color name="huodong_blue">#ACD1FB</color>
     <color name="text_color">#757575</color>
+    <color name="textGreen">#5FB762</color>
 </resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 7b92db3..54b1b4a 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -14,6 +14,7 @@
 
     <!-- txtsize -->
     <dimen name="txtsize_display1">34sp</dimen>
+    <dimen name="txtsize_num">36sp</dimen>
     <dimen name="txtsize_headline">24sp</dimen>
     <dimen name="txtsize_title">20sp</dimen>
     <dimen name="txtsize_subhead">16sp</dimen>
--
libgit2 0.21.0