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 7febbc1..cda8469 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 @@ -8,21 +8,34 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; +import com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView; +import com.prolificinteractive.materialcalendarview.CalendarDay; +import com.prolificinteractive.materialcalendarview.MaterialCalendarView; import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; +import com.share.mvpsdk.utils.ToastUtils; import com.shunzhi.parent.R; import com.shunzhi.parent.adapter.ReportAdapter; import com.shunzhi.parent.bean.ReportBean; import com.shunzhi.parent.contract.report.ReportContract; import com.shunzhi.parent.presenter.report.ReportPresenter; +import com.shunzhi.parent.views.CustomLinearLayoutManager; +import java.util.Calendar; +import java.util.Date; import java.util.List; -public class ReportFragment extends BaseMVPCompatFragment <ReportContract.ReportPresenter,ReportContract.IReportModel> -implements ReportContract.IReportView{ +public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportPresenter, ReportContract.IReportModel> + implements ReportContract.IReportView { RecyclerView recyclerView; ReportAdapter reportAdapter; + MonthWeekMaterialCalendarView monthWeekMaterialCalendarView = null; + + private CalendarDay selectedDate; + + MaterialCalendarView calendarView_month_mode; + @NonNull @Override public BasePresenter initPresenter() { @@ -37,18 +50,52 @@ implements ReportContract.IReportView{ @Override public void initUI(View view, @Nullable Bundle savedInstanceState) { recyclerView = view.findViewById(R.id.recycle_report); - recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); + calendarView_month_mode=view.findViewById(R.id.calendarView_month_mode); + + LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + recyclerView.setLayoutManager(new CustomLinearLayoutManager(getActivity(), + LinearLayoutManager.VERTICAL, false)); + recyclerView.setHasFixedSize(true); + monthWeekMaterialCalendarView = view.findViewById(R.id.slidelayout); + initCalendarView(); initReportList(); } + private void initCalendarView() { +// month_week_CalendarView.setMode(MonthWeekMaterialCalendarView.Mode.MONTH); + selectedDate = CalendarDay.today(); + monthWeekMaterialCalendarView.setMode(MonthWeekMaterialCalendarView.Mode.WEEK); + monthWeekMaterialCalendarView.setCurrentDate(selectedDate); + monthWeekMaterialCalendarView.setSelectedDate(selectedDate); + monthWeekMaterialCalendarView.state().edit().setSlideModeChangeListener(new MonthWeekMaterialCalendarView.SlideModeChangeListener() { + @Override + public void modeChange(MonthWeekMaterialCalendarView.Mode mode) { + + } + }).setSlideDateSelectedlistener(new MonthWeekMaterialCalendarView.SlideDateSelectedlistener() { + @Override + public void onDateSelected(@NonNull MaterialCalendarView widget, @NonNull CalendarDay date, boolean selected) { + selectedDate = date; + + } + }).setSlideOnMonthChangedListener(new MonthWeekMaterialCalendarView.SlideOnMonthChangedListener() { + @Override + public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) { + + } + }).commit(); + + } + private void initReportList() { mPresenter.reportResult(); } @Override public void UpdateList(List<ReportBean> list) { - reportAdapter=new ReportAdapter(getActivity()); + reportAdapter = new ReportAdapter(getActivity()); reportAdapter.addAll(list); recyclerView.setAdapter(reportAdapter); } diff --git a/app/src/main/java/com/shunzhi/parent/views/CustomLinearLayoutManager.java b/app/src/main/java/com/shunzhi/parent/views/CustomLinearLayoutManager.java new file mode 100644 index 0000000..f641509 --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/views/CustomLinearLayoutManager.java @@ -0,0 +1,37 @@ +package com.shunzhi.parent.views; + +import android.content.Context; +import android.support.v7.widget.LinearLayoutManager; +import android.util.AttributeSet; + +import com.amy.monthweek.materialcalendarview.ILayoutManager; + +/** + * Created by ToaHanDong on 2018/3/15. + */ + +public class CustomLinearLayoutManager extends LinearLayoutManager implements ILayoutManager { + + private boolean isScrollEnabled = true; + + public CustomLinearLayoutManager(Context context) { + super(context); + } + + public CustomLinearLayoutManager(Context context, int orientation, boolean reverseLayout) { + super(context, orientation, reverseLayout); + } + + public CustomLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + @Override + public void setScrollEnabled(boolean enabled) { + this.isScrollEnabled = enabled; + } + + @Override + public boolean canScrollVertically() { + return isScrollEnabled && super.canScrollVertically(); + } +} diff --git a/app/src/main/res/layout/fragment_ce_ping.xml b/app/src/main/res/layout/fragment_ce_ping.xml index 74111aa..de3409b 100644 --- a/app/src/main/res/layout/fragment_ce_ping.xml +++ b/app/src/main/res/layout/fragment_ce_ping.xml @@ -34,7 +34,8 @@ android:layout_gravity="center" android:gravity="center" android:text="@string/ceping" - android:textColor="@color/textColor" /> + android:textSize="@dimen/textSize18" + android:textColor="@color/white" /> <ImageView diff --git a/app/src/main/res/layout/fragment_report.xml b/app/src/main/res/layout/fragment_report.xml index c003f2f..bca4cc2 100644 --- a/app/src/main/res/layout/fragment_report.xml +++ b/app/src/main/res/layout/fragment_report.xml @@ -2,72 +2,161 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/bgColor" android:orientation="vertical" tools:context="com.shunzhi.parent.ui.fragment.ReportFragment"> - <!-- TODO: Update blank fragment layout --> -<LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - > -<LinearLayout - android:id="@+id/top_layout" - android:layout_width="match_parent" - android:layout_height="?android:actionBarSize" - android:orientation="horizontal" - android:padding="10dp" - android:background="@color/back_top" - > - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="马铂骞" - android:drawableRight="@drawable/pull" - android:drawablePadding="10dp" - android:textColor="@color/textColor" - android:textSize="@dimen/textSize16" - android:layout_gravity="center_vertical" - /> -<TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="1" - android:text="2018年3月" - android:gravity="center_horizontal" - android:layout_gravity="center_vertical" - android:textColor="@color/textColor" - android:textSize="@dimen/textSize16" - /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="筛选" - android:layout_gravity="center_vertical" - android:textColor="@color/textColor" - android:textSize="@dimen/textSize16" - 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:id="@+id/top_layout" + android:layout_width="match_parent" + android:layout_height="?android:actionBarSize" + android:background="@color/back_top" + android:orientation="horizontal" + android:padding="10dp"> -</LinearLayout> -<android.support.v7.widget.RecyclerView - android:id="@+id/recycle_report" - android:layout_width="match_parent" - android:layout_height="match_parent"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:drawablePadding="10dp" + android:drawableRight="@drawable/pull" + android:text="马铂骞" + android:textColor="@color/textColor" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:gravity="center_horizontal" + android:text="2018年3月" + android:textColor="@color/textColor" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:drawableRight="@drawable/screen" + android:text="筛选" + android:textColor="@color/textColor" + android:textSize="@dimen/textSize16" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + + <!--<include layout="@layout/layout_week" /> android:layout_below="@+id/linearlayout"--> + + <com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/slidelayout" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.prolificinteractive.materialcalendarview.MaterialCalendarView + android:id="@+id/calendarView_month_mode" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/white" + app:mcv_calendarMode="month" + app:mcv_dateTextAppearance="@style/TextAppearance.MaterialCalendarWidget.Date" + app:mcv_selectionColor="@color/huodong_blue" + app:mcv_showOtherDates="defaults|other_months" + app:mcv_showWeekView="false" /> + + <com.prolificinteractive.materialcalendarview.MaterialCalendarView + android:id="@+id/calendarView_week_mode" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@android:color/white" + android:visibility="invisible" + app:mcv_calendarMode="week" + app:mcv_dateTextAppearance="@style/TextAppearance.MaterialCalendarWidget.Date" + app:mcv_selectionColor="@color/huodong_blue" + app:mcv_showTopBar="false" + app:mcv_showWeekView="false" + /> + + + <android.support.v7.widget.RecyclerView + android:id="@+id/recycle_report" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/bgColor" + android:padding="@dimen/size_dp_10"> + + </android.support.v7.widget.RecyclerView> + + <LinearLayout + android:id="@+id/weekview_top" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white" + android:orientation="horizontal"> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周日" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周一" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周二" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周三" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周四" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周五" + android:textSize="@dimen/textSize16" /> + + <TextView + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:text="周六" + android:textSize="@dimen/textSize16" /> + + </LinearLayout> + + </com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView> + + </LinearLayout> -</android.support.v7.widget.RecyclerView> -</LinearLayout> </LinearLayout> diff --git a/app/src/main/res/layout/item_report.xml b/app/src/main/res/layout/item_report.xml index 8c2a35f..b5ac0c6 100644 --- a/app/src/main/res/layout/item_report.xml +++ b/app/src/main/res/layout/item_report.xml @@ -3,10 +3,10 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - <LinearLayout + <LinearLayout + android:layout_marginTop="@dimen/size_dp_10" android:layout_width="match_parent" android:layout_height="250dp" - android:layout_margin="20dp" android:background="@drawable/report_white" android:orientation="vertical"> @@ -20,7 +20,7 @@ android:textColor="#20519f" android:textSize="@dimen/sp_16" /> - <RelativeLayout + <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" @@ -52,10 +52,10 @@ <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_weight="1" android:layout_centerInParent="true" - android:gravity="center_horizontal" - > + android:layout_weight="1" + android:gravity="center_horizontal"> + <com.shunzhi.parent.views.ProgressView android:id="@+id/ring" android:layout_width="160dp" @@ -66,8 +66,8 @@ <LinearLayout android:layout_width="80dp" android:layout_height="match_parent" - android:layout_marginTop="10dp" android:layout_alignParentRight="true" + android:layout_marginTop="10dp" android:orientation="vertical"> <TextView diff --git a/app/src/main/res/layout/layout_consult_content.xml b/app/src/main/res/layout/layout_consult_content.xml index f72fd35..d08f24a 100644 --- a/app/src/main/res/layout/layout_consult_content.xml +++ b/app/src/main/res/layout/layout_consult_content.xml @@ -6,14 +6,13 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginLeft="@dimen/size_dp_10" - android:layout_marginRight="@dimen/size_dp_10" - android:background="@color/white"> + android:background="@drawable/report_white"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="4" + android:elevation="@dimen/size_dp_3" android:orientation="vertical" android:padding="@dimen/size_dp_5"> diff --git a/app/src/main/res/layout/layout_textandimgshow.xml b/app/src/main/res/layout/layout_textandimgshow.xml index f705427..1b9c8b9 100644 --- a/app/src/main/res/layout/layout_textandimgshow.xml +++ b/app/src/main/res/layout/layout_textandimgshow.xml @@ -17,7 +17,8 @@ android:layout_height="wrap_content" android:layout_marginBottom="@dimen/size_dp_5" android:layout_marginTop="@dimen/size_dp_5" - android:background="@color/white" + android:background="@drawable/report_white" + android:elevation="@dimen/size_dp_3" android:orientation="horizontal" android:padding="@dimen/size_dp_10"> diff --git a/app/src/main/res/layout/layout_week.xml b/app/src/main/res/layout/layout_week.xml index 7809490..3ed561d 100644 --- a/app/src/main/res/layout/layout_week.xml +++ b/app/src/main/res/layout/layout_week.xml @@ -1,15 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout +<com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/slidelayout" android:layout_width="match_parent" android:layout_height="match_parent"> - <CalendarView - android:id="@+id/calendarView" + <com.prolificinteractive.materialcalendarview.MaterialCalendarView + android:id="@+id/calendarView_month_mode" android:layout_width="match_parent" android:layout_height="wrap_content" - tools:layout_editor_absoluteX="0dp" - tools:layout_editor_absoluteY="0dp" - tools:ignore="MissingConstraints" /> -</android.support.constraint.ConstraintLayout> \ No newline at end of file + app:mcv_calendarMode="month" + app:mcv_showOtherDates="other_months" + app:mcv_showWeekView="false" + /> + + <com.prolificinteractive.materialcalendarview.MaterialCalendarView + android:id="@+id/calendarView_week_mode" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@android:color/white" + android:visibility="invisible" + app:mcv_calendarMode="week" + app:mcv_showTopBar="false" + app:mcv_showWeekView="false" /> + +</com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView> \ No newline at end of file diff --git a/build.gradle b/build.gradle index e5a403e..25e135d 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ allprojects { repositories { google() jcenter() -// maven { url 'https://jitpack.io' } + maven { url 'https://jitpack.io' } } } diff --git a/mvpsdk/build.gradle b/mvpsdk/build.gradle index a83cedb..d73d01e 100644 --- a/mvpsdk/build.gradle +++ b/mvpsdk/build.gradle @@ -110,6 +110,9 @@ dependencies { //省市区联动 compile 'me.leefeng:citypicker:1.0' + //日历控件 + compile 'com.github.idic779:monthweekmaterialcalendarview:1.7' + //悬浮窗 // compile 'com.github.yhaolpz:FloatWindow:1.0.8' -- libgit2 0.21.0