diff --git a/app/src/main/res/color/color_selector_333_false_999.xml b/app/src/main/res/color/color_selector_333_false_999.xml
new file mode 100644
index 000000000..f8737614d
--- /dev/null
+++ b/app/src/main/res/color/color_selector_333_false_999.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ClanIncomeActivity.java b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ClanIncomeActivity.java
index d5a21878f..6f000c918 100644
--- a/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ClanIncomeActivity.java
+++ b/app/src/module_labour_union/java/com/yizhuan/erban/module_hall/hall/activity/ClanIncomeActivity.java
@@ -75,7 +75,8 @@ public class ClanIncomeActivity extends BaseMvpActivity tagList = new ArrayList<>();
- tagList.add("每日统计");
+ tagList.add("按日统计");
tagList.add("每周统计");
tagList.add("每月统计");
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
@@ -159,7 +159,7 @@ public class ClanIncomeActivity extends BaseMvpActivity {
+ tvWeekFirstDay.setSelected(true);
+ tvWeekLastDay.setSelected(false);
+ });
+ tvWeekLastDay.setOnClickListener(v -> {
+ tvWeekFirstDay.setSelected(false);
+ tvWeekLastDay.setSelected(true);
+ });
+ }
title.setText(mPickerConfig.mTitleString);
title.setTextColor(context.getResources().getColor(R.color.color_333333));
cancel.setText(mPickerConfig.mCancelString);
@@ -147,25 +168,36 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
}
private void setWeekView(Calendar calendar) {
- //获取周几 1-7
- int currweekDay = calendar.get(Calendar.DAY_OF_WEEK);
- //周一的时间
long firstDayTime;
- if (currweekDay == 1) {//周日
- firstDayTime = calendar.getTimeInMillis() - (TimeUtils.MILLIS_OF_A_DAY * (7 - currweekDay));
+
+ if (isDay) {
+ if (tvWeekFirstDay.isSelected()) {
+ mDayFirstTime = calendar.getTimeInMillis();
+ tvWeekFirstDay.setText(TimeUtils.getDateTimeString(mDayFirstTime, TimeUtils.DATE_FORMAT));
+ } else {
+ selectDayLastTime = true;
+ mDayLastTime = calendar.getTimeInMillis();
+ tvWeekLastDay.setText(TimeUtils.getDateTimeString(mDayLastTime, TimeUtils.DATE_FORMAT));
+ }
} else {
- firstDayTime = calendar.getTimeInMillis() - (TimeUtils.MILLIS_OF_A_DAY * (currweekDay - 2));
+ //获取周几 1-7
+ int currweekDay = calendar.get(Calendar.DAY_OF_WEEK);
+ if (currweekDay == 1) {//周日
+ firstDayTime = calendar.getTimeInMillis() - (TimeUtils.MILLIS_OF_A_DAY * (7 - currweekDay));
+ } else {
+ firstDayTime = calendar.getTimeInMillis() - (TimeUtils.MILLIS_OF_A_DAY * (currweekDay - 2));
+ }
+
+ String first = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
+ mWeekFirstDay = first;
+ tvWeekFirstDay.setText(first);
+
+ //周日
+ long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
+ String last = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
+ mWeekLastDay = last;
+ tvWeekLastDay.setText(last);
}
-
- String first = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
- mWeekFirstDay = first;
- tvWeekFirstDay.setText(first);
-
- //周日
- long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
- String last = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
- mWeekLastDay = last;
- tvWeekLastDay.setText(last);
}
@Override
@@ -210,7 +242,25 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
mCurrentMillSeconds = calendar.getTimeInMillis();
if (mTimePickerListener != null) {
- mTimePickerListener.getTime(mCurrentMillSeconds, mWeekFirstDay, mWeekLastDay);
+ if (isDay) {
+ if (!selectDayLastTime) {
+ mDayLastTime = mDayFirstTime;
+ }
+ if (mDayFirstTime > mDayLastTime) {
+ SingleToastUtil.showToast("结束日期不得早于开始日期");
+ return;
+ }
+ if (mDayLastTime - mDayFirstTime > 180 * TimeUtils.MILLIS_OF_A_DAY) {
+ SingleToastUtil.showToast("开始日期和结束日期相差不得超过6个月");
+ return;
+ }
+ mTimePickerListener.getTime(mCurrentMillSeconds,
+ TimeUtils.getDateTimeString(mDayFirstTime, TimeUtils.DATE_FORMAT),
+ TimeUtils.getDateTimeString(mDayLastTime, TimeUtils.DATE_FORMAT));
+
+ } else {
+ mTimePickerListener.getTime(mCurrentMillSeconds, mWeekFirstDay, mWeekLastDay);
+ }
}
dismiss();
@@ -225,6 +275,9 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
long firstMs;
boolean mIsWeek;
boolean isMonth;
+ boolean isDay;
+ private long mDayFirstTime;
+ private long mDayLastTime;
public Builder() {
mPickerConfig = new PickerConfig();
@@ -336,8 +389,23 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
return this;
}
+ public Builder setIsDay(boolean isDay) {
+ this.isDay = isDay;
+ return this;
+ }
+
+ public Builder setDayFirstTime(long dayFirstTime) {
+ this.mDayFirstTime = dayFirstTime;
+ return this;
+ }
+
+ public Builder setDayLastTime(long dayLastTime) {
+ this.mDayLastTime = dayLastTime;
+ return this;
+ }
+
public TimePickerDialog build() {
- return newInstance(mPickerConfig, firstMs, mIsWeek, isMonth);
+ return newInstance(mPickerConfig, firstMs, mIsWeek, isMonth, isDay, mDayFirstTime, mDayLastTime);
}
}
diff --git a/app/src/module_labour_union/res/layout/dialog_custom_time_picker.xml b/app/src/module_labour_union/res/layout/dialog_custom_time_picker.xml
index 59219b28f..353faea4c 100644
--- a/app/src/module_labour_union/res/layout/dialog_custom_time_picker.xml
+++ b/app/src/module_labour_union/res/layout/dialog_custom_time_picker.xml
@@ -1,8 +1,8 @@
@@ -13,39 +13,39 @@
+ android:layout_height="40dp"
+ android:background="@color/white">
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_marginEnd="@dimen/dp_14"
+ android:layout_toStartOf="@+id/tv_utill"
+ android:textColor="@color/color_selector_333_false_999"
+ android:textSize="@dimen/sp_15"
+ tools:text="2018-01-02" />
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:text="至"
+ android:textColor="@color/color_999999"
+ android:textSize="@dimen/sp_15" />
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="@dimen/dp_14"
+ android:layout_toEndOf="@+id/tv_utill"
+ android:textColor="@color/color_selector_333_false_999"
+ android:textSize="@dimen/sp_15"
+ tools:text="2018-01-08" />
diff --git a/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java b/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java
index 945bd22c4..09846a80e 100644
--- a/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java
+++ b/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java
@@ -229,6 +229,18 @@ public class TimeUtils {
return result;
}
+ public static long getTimeMillis(String time, String format) {
+ try {
+ SimpleDateFormat formatter = new SimpleDateFormat(format, Locale.getDefault());
+ Date date = formatter.parse(time);
+ return date.getTime();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ return 0;
+ }
+
/**
* 将毫秒数转为 MM:ss 的格式
*