From 2e3a868177e538f0beb9c994fe178b6c6170f5ba Mon Sep 17 00:00:00 2001 From: viyyan Date: Wed, 13 Mar 2019 12:00:20 +0700 Subject: [PATCH 01/10] Fix date result when switching between 28, 30, 31 days of month --- app/build.gradle | 1 + .../com/bruce/pickerview/popwindow/DatePickerPopWin.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 75ae432..8142e5c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,7 @@ dependencies { // testCompile 'org.powermock:powermock-module-junit4:1.6.3' // testCompile 'org.powermock:powermock-api-mockito:1.6.3' + //noinspection GradleCompatible compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1' compile project(":library") diff --git a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java index 9aaa0eb..34ef66b 100644 --- a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java +++ b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java @@ -5,6 +5,7 @@ import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; +import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -276,7 +277,9 @@ private void initDayPickerView() { for (int i = 0; i < dayMaxInMonth; i++) { dayList.add(format2LenStr(i + 1)); } - + if(dayPos >= (dayList.size())) { + dayPos = dayList.size() - 1; + } dayLoopView.setDataList((ArrayList) dayList); dayLoopView.setInitPosition(dayPos); } From a47231f11387317477e8b10548176050d559a32f Mon Sep 17 00:00:00 2001 From: viyyan Date: Wed, 13 Mar 2019 15:17:21 +0700 Subject: [PATCH 02/10] Set support to show Months in fullname --- .../java/com/bruce/pickerview/LoopView.java | 4 ++- .../popwindow/DatePickerPopWin.java | 26 +++++++++++++++++-- .../main/res/layout/layout_date_picker.xml | 6 ++--- .../layout/layout_date_picker_inverted.xml | 15 ++++++++--- 4 files changed, 41 insertions(+), 10 deletions(-) diff --git a/library/src/main/java/com/bruce/pickerview/LoopView.java b/library/src/main/java/com/bruce/pickerview/LoopView.java index 7eed48b..6c18a3f 100644 --- a/library/src/main/java/com/bruce/pickerview/LoopView.java +++ b/library/src/main/java/com/bruce/pickerview/LoopView.java @@ -181,11 +181,13 @@ private void measureTextWidthHeight() { for (int i = 0; i < mDataList.size(); i++) { String s1 = (String) mDataList.get(i); mCenterTextPaint.getTextBounds(s1, 0, s1.length(), rect); + Paint.FontMetrics fm = mCenterTextPaint.getFontMetrics(); + float height = fm.descent - fm.ascent; int textWidth = rect.width(); if (textWidth > mMaxTextWidth) { mMaxTextWidth = textWidth; } - int textHeight = rect.height(); + int textHeight = (int) height; if (textHeight > mMaxTextHeight) { mMaxTextHeight = textHeight; } diff --git a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java index 34ef66b..d66551a 100644 --- a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java +++ b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java @@ -23,6 +23,7 @@ import com.bruce.pickerview.LoopView; import com.bruce.pickerview.R; +import java.text.DateFormatSymbols; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -58,6 +59,7 @@ public class DatePickerPopWin extends PopupWindow implements OnClickListener { private int btnTextsize;//text btnTextsize of cancel and confirm button private int viewTextSize; private boolean showDayMonthYear; + private boolean showMonthName; List yearList = new ArrayList(); List monthList = new ArrayList(); @@ -84,6 +86,7 @@ public Builder(Context context,OnDatePickedListener listener){ private int colorConfirm = Color.parseColor("#303F9F"); private int btnTextSize = 16;//text btnTextsize of cancel and confirm button private int viewTextSize = 25; + private boolean showMonthName = false; public Builder minYear(int minYear){ this.minYear = minYear; @@ -145,6 +148,11 @@ public Builder showDayMonthYear(boolean useDayMonthYear) { this.showDayMonthYear = useDayMonthYear; return this; } + + public Builder showMonthName(boolean showMonthName) { + this.showMonthName = showMonthName; + return this; + } } public DatePickerPopWin(Builder builder){ @@ -159,6 +167,7 @@ public DatePickerPopWin(Builder builder){ this.btnTextsize = builder.btnTextSize; this.viewTextSize = builder.viewTextSize; this.showDayMonthYear = builder.showDayMonthYear; + this.showMonthName = builder.showMonthName; setSelectedDate(builder.dateChose); initView(); } @@ -178,6 +187,12 @@ private void initView() { monthLoopView = (LoopView) contentView.findViewById(R.id.picker_month); dayLoopView = (LoopView) contentView.findViewById(R.id.picker_day); pickerContainerV = contentView.findViewById(R.id.container_picker); + if (showMonthName && viewTextSize > 22) { + viewTextSize = 22; + } + dayLoopView.setTextSize(viewTextSize); + monthLoopView.setTextSize(viewTextSize); + yearLoopView.setTextSize(viewTextSize); // //do not loop,default can loop // yearLoopView.setNotLoop(); @@ -248,8 +263,15 @@ private void initPickerViews() { yearList.add(format2LenStr(minYear + i)); } - for (int j = 0; j < 12; j++) { - monthList.add(format2LenStr(j + 1)); + if (this.showMonthName) { + String[] months = new DateFormatSymbols().getMonths(); + for (int j = 0; j < months.length; j++) { + monthList.add(months[j]); + } + } else { + for (int j = 0; j < 12; j++) { + monthList.add(format2LenStr(j + 1)); + } } yearLoopView.setDataList((ArrayList) yearList); diff --git a/library/src/main/res/layout/layout_date_picker.xml b/library/src/main/res/layout/layout_date_picker.xml index 50edcfd..7dad4cf 100644 --- a/library/src/main/res/layout/layout_date_picker.xml +++ b/library/src/main/res/layout/layout_date_picker.xml @@ -52,7 +52,7 @@ @@ -60,7 +60,7 @@ @@ -53,21 +54,27 @@ android:id="@+id/picker_day" android:layout_width="0dp" android:layout_height="match_parent" - android:layout_marginLeft="1dp" - android:layout_weight="1" /> + android:layout_weight="1" + app:textSize="25sp" + app:canLoop="false"/> + android:layout_weight="1" + app:textSize="25sp" + app:canLoop="false"/> + android:layout_marginLeft="1dp" + android:layout_weight="1" + app:textSize="25sp" + app:canLoop="false"/> From b00cf64233d91919a7134c3e92d3e603ae49b29c Mon Sep 17 00:00:00 2001 From: viyyan Date: Wed, 13 Mar 2019 15:17:57 +0700 Subject: [PATCH 03/10] Update sample activity --- app/src/main/java/com/brucetoo/pickview/MainActivity.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/brucetoo/pickview/MainActivity.java b/app/src/main/java/com/brucetoo/pickview/MainActivity.java index b380585..f8a14ec 100644 --- a/app/src/main/java/com/brucetoo/pickview/MainActivity.java +++ b/app/src/main/java/com/brucetoo/pickview/MainActivity.java @@ -42,12 +42,14 @@ public void onDatePickCompleted(int year, int month, int day, String dateDesc) { }).textConfirm("CONFIRM") //text of confirm button .textCancel("CANCEL") //text of cancel button .btnTextSize(16) // button text size - .viewTextSize(25) // pick view text size + .viewTextSize(24) // pick view text size .colorCancel(Color.parseColor("#999999")) //color of cancel button .colorConfirm(Color.parseColor("#009900"))//color of confirm button .minYear(1990) //min year in loop .maxYear(2550) // max year in loop - .dateChose("2013-11-11") // date chose when init popwindow +// .dateChose("2013-11-11") // date chose when init popwindow + .showMonthName(true) + .showDayMonthYear(true) .build(); pickerPopWin.showPopWin(MainActivity.this); } From 8b958d85b80906e9262bd5480a203e84f877795d Mon Sep 17 00:00:00 2001 From: viyyan Date: Wed, 13 Mar 2019 16:17:35 +0700 Subject: [PATCH 04/10] Update sample activity --- .../com/bruce/pickerview/popwindow/DatePickerPopWin.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java index d66551a..3f8f288 100644 --- a/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java +++ b/library/src/main/java/com/bruce/pickerview/popwindow/DatePickerPopWin.java @@ -299,9 +299,6 @@ private void initDayPickerView() { for (int i = 0; i < dayMaxInMonth; i++) { dayList.add(format2LenStr(i + 1)); } - if(dayPos >= (dayList.size())) { - dayPos = dayList.size() - 1; - } dayLoopView.setDataList((ArrayList) dayList); dayLoopView.setInitPosition(dayPos); } @@ -393,9 +390,9 @@ public void onClick(View v) { if (null != mListener) { - int year = minYear + yearPos; - int month = monthPos + 1; - int day = dayPos + 1; + int year = minYear + yearLoopView.getSelectedItem(); + int month = monthLoopView.getSelectedItem() + 1; + int day = dayLoopView.getSelectedItem() + 1; StringBuffer sb = new StringBuffer(); sb.append(String.valueOf(year)); From a43e6aa09ada7a3f94f1671c5015c8179d148c4d Mon Sep 17 00:00:00 2001 From: viyyan Date: Mon, 8 Apr 2019 17:12:44 +0700 Subject: [PATCH 05/10] - Release jitpack ready --- library/build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index 7137204..3dd5954 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,15 +1,15 @@ apply plugin: 'com.android.library' -//apply plugin: 'com.github.dcendents.android-maven' -//apply plugin: 'com.jfrog.bintray' +apply plugin: 'com.github.dcendents.android-maven' +group = 'com.github.viyyan' version = "1.1.1" android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 28 + buildToolsVersion "28.0.3 " defaultConfig { minSdkVersion 14 - targetSdkVersion 23 + targetSdkVersion 28 versionCode 2 versionName "1.1.1" } From b08bb21d4e9e5397ceafd2921b15f6c8aff600b1 Mon Sep 17 00:00:00 2001 From: viyyan Date: Mon, 8 Apr 2019 17:16:15 +0700 Subject: [PATCH 06/10] - Release jitpack ready --- app/build.gradle | 2 +- library/library.iml | 87 ++++++++++++++++++++++++--------------------- 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8142e5c..b8ce1c5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'cobertura' android { compileSdkVersion 23 - buildToolsVersion "23.0.1" + buildToolsVersion '28.0.3' defaultConfig { applicationId "com.brucetoo.pickview" diff --git a/library/library.iml b/library/library.iml index 755ab12..e986cdb 100644 --- a/library/library.iml +++ b/library/library.iml @@ -1,5 +1,5 @@ - + @@ -9,7 +9,6 @@ - - - + + + - + + - - + + - + - + + + + + + + - @@ -64,54 +69,54 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + + - - - + + + + + + + + - - + - - - - - + + + + + \ No newline at end of file From c90965799882a33e7f465c982f8fa5cfd98a8d85 Mon Sep 17 00:00:00 2001 From: viyyan Date: Mon, 8 Apr 2019 17:16:51 +0700 Subject: [PATCH 07/10] - Release jitpack ready --- build.gradle | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 42641c1..f7c5287 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,10 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' // classpath 'com.dicedmelon.gradle:jacoco-android:0.1.1' @@ -13,16 +14,20 @@ buildscript { classpath 'net.saliman:gradle-cobertura-plugin:2.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' } } allprojects { repositories { jcenter() - maven { url "https://oss.sonatype.org/content/repositories/snapshots" } +// maven { url "https://oss.sonatype.org/content/repositories/snapshots" } +// maven { url "https://jitpack.io" } + google() } } task clean(type: Delete) { delete rootProject.buildDir } + From f1dadf2e3bf9df431cb511df9de3c7a83338c826 Mon Sep 17 00:00:00 2001 From: viyyan Date: Mon, 8 Apr 2019 17:28:14 +0700 Subject: [PATCH 08/10] - Fix gradle error --- build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle b/build.gradle index f7c5287..e71f463 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,6 @@ buildscript { repositories { jcenter() - google() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' @@ -23,7 +22,6 @@ allprojects { jcenter() // maven { url "https://oss.sonatype.org/content/repositories/snapshots" } // maven { url "https://jitpack.io" } - google() } } From b6f7f3c40b5758e27eb945fed0764b8d99e99f59 Mon Sep 17 00:00:00 2001 From: viyyan Date: Mon, 8 Apr 2019 18:02:02 +0700 Subject: [PATCH 09/10] - Release jitpack ready --- .idea/caches/build_file_checksums.ser | Bin 0 -> 590 bytes .idea/codeStyles/Project.xml | 29 + .idea/compiler.xml | 22 - .idea/copyright/profiles_settings.xml | 3 - .idea/gradle.xml | 3 +- .idea/misc.xml | 28 +- .idea/vcs.xml | 2 +- PickView.iml | 2 +- app/app.iml | 78 +- build.gradle | 7 +- gradle/wrapper/gradle-wrapper.properties | 4 +- library/.idea/caches/build_file_checksums.ser | Bin 0 -> 650 bytes library/.idea/codeStyles/Project.xml | 29 + library/.idea/gradle.xml | 19 + ...om_android_support_appcompat_v7_23_1_0.xml | 17 + ...dle__com_android_support_design_23_0_1.xml | 13 + ...support_support_annotations_23_1_0_jar.xml | 13 + ..._com_android_support_support_v4_23_1_0.xml | 18 + .../Gradle__junit_junit_4_12_jar.xml | 11 + ...le__org_hamcrest_hamcrest_core_1_3_jar.xml | 11 + .../Gradle__org_slf4j_slf4j_api_1_7_5_jar.xml | 9 + library/.idea/misc.xml | 9 + library/.idea/modules.xml | 10 + library/.idea/runConfigurations.xml | 12 + library/.idea/workspace.xml | 2945 +++++++++++++++++ library/build.gradle | 6 +- library/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + library/gradlew | 172 + library/gradlew.bat | 84 + library/library.iml | 2 +- library/local.properties | 8 + 32 files changed, 3476 insertions(+), 95 deletions(-) create mode 100644 .idea/caches/build_file_checksums.ser create mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/compiler.xml delete mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 library/.idea/caches/build_file_checksums.ser create mode 100644 library/.idea/codeStyles/Project.xml create mode 100644 library/.idea/gradle.xml create mode 100644 library/.idea/libraries/Gradle__com_android_support_appcompat_v7_23_1_0.xml create mode 100644 library/.idea/libraries/Gradle__com_android_support_design_23_0_1.xml create mode 100644 library/.idea/libraries/Gradle__com_android_support_support_annotations_23_1_0_jar.xml create mode 100644 library/.idea/libraries/Gradle__com_android_support_support_v4_23_1_0.xml create mode 100644 library/.idea/libraries/Gradle__junit_junit_4_12_jar.xml create mode 100644 library/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml create mode 100644 library/.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_5_jar.xml create mode 100644 library/.idea/misc.xml create mode 100644 library/.idea/modules.xml create mode 100644 library/.idea/runConfigurations.xml create mode 100644 library/.idea/workspace.xml create mode 100644 library/gradle/wrapper/gradle-wrapper.jar create mode 100644 library/gradle/wrapper/gradle-wrapper.properties create mode 100644 library/gradlew create mode 100644 library/gradlew.bat create mode 100644 library/local.properties diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000000000000000000000000000000000000..6f6d1fb9478fc9fbbbdff6d89063d7d243afa916 GIT binary patch literal 590 zcmZ4UmVvdnh`~NNKUXg?FQq6yGexf?KR>5fFEb@IQ7^qHF(oHeub?PDD>b=9F91S2 zm1gFoxMk*~I%lLNXBU^|7Q2L-Ts|(GuF1r}2z_zyOYkOxc*3?Q2s1iqTp%Is)pXGlzb6jortmRiEV zlLYcFOjjX89RnLkp@Yd&v#Zl}yDryfv)1j2-d@6>qaRwFT2!o`mYS29oSB%DnV+f; z)uxXK$%53PlFZcNQn*1^WP5J*Gi+jc*}ysD%@3!#5(a^s{N%(OP_Sbt=3x2vewhOA z=Z9)XXJ@ouTvNgzl9QQKlvq@$kKLI{0$PVnHwi5K*0%h9DC6W;B@BXi+#=_C+mpj> oYHWAc-KWV}e+~iNl2}lH!{}Kbwi^la7+2p_HkZEky2!5r0PIlDhX4Qo literal 0 HcmV?d00001 diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..30aa626 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 96cc43e..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index f7a3264..66e2f6f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,9 +3,8 @@