diff --git a/README.md b/README.md index e3d525d..ec4d796 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ * 9、...... #### [基本原理](http://www.jianshu.com/p/304c8e70d0bd) -#### [demo体验](https://fir.im/vehj?release_id=59fabc7fca87a80715000620) +#### [demo体验](https://fir.im/vehj?release_id=5a3b59f3959d691cc2000583) ### 效果图: |![](screenshot/1.gif)|![](screenshot/2.gif)|![](screenshot/3.gif)| @@ -32,7 +32,7 @@ allprojects { **Step 2. 添加项目依赖** ``` gradle dependencies { - compile 'com.github.Othershe:CalendarView:1.1.0' + compile 'com.github.Othershe:CalendarView:1.2.0' } ``` **Step 3. 在布局文件中添加WeekView、CalendarView** diff --git a/app/build.gradle b/app/build.gradle index 4de9ac8..2b6c997 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "com.othershe.calendarview" minSdkVersion 14 targetSdkVersion 26 - versionCode 1 - versionName "1.0" + versionCode 2 + versionName "2.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/src/main/java/com/othershe/calendarviewtest/MainActivity.java b/app/src/main/java/com/othershe/calendarviewtest/MainActivity.java index a439ca6..eca60a9 100644 --- a/app/src/main/java/com/othershe/calendarviewtest/MainActivity.java +++ b/app/src/main/java/com/othershe/calendarviewtest/MainActivity.java @@ -15,6 +15,7 @@ import com.othershe.calendarview.bean.DateBean; import com.othershe.calendarview.listener.OnSingleChooseListener; import com.othershe.calendarview.listener.OnPagerChangeListener; +import com.othershe.calendarview.utils.CalendarUtil; import com.othershe.calendarview.weiget.CalendarView; import java.util.HashMap; @@ -22,12 +23,16 @@ public class MainActivity extends AppCompatActivity { private CalendarView calendarView; + TextView chooseDate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView title = (TextView) findViewById(R.id.title); + //当前选中的日期 + chooseDate = findViewById(R.id.choose_date); + calendarView = (CalendarView) findViewById(R.id.calendar); HashMap map = new HashMap<>(); map.put("2017.10.30", "qaz"); @@ -38,7 +43,7 @@ protected void onCreate(Bundle savedInstanceState) { map.put("2017.11.11", "tgb"); calendarView // .setSpecifyMap(map) - .setStartEndDate("2010.7", "2018.12") + .setStartEndDate("2010.7", "2019.12") .setInitDate("2017.11") .setSingleDate("2017.12.12") .init(); @@ -53,6 +58,7 @@ protected void onCreate(Bundle savedInstanceState) { // }).init(); title.setText("2017年11月"); + chooseDate.setText("当前选中的日期:2017年12月12日"); calendarView.setOnPagerChangeListener(new OnPagerChangeListener() { @Override @@ -65,6 +71,9 @@ public void onPagerChanged(int[] date) { @Override public void onSingleChoose(View view, DateBean date) { title.setText(date.getSolar()[0] + "年" + date.getSolar()[1] + "月"); + if (date.getType() == 1) { + chooseDate.setText("当前选中的日期:" + date.getSolar()[0] + "年" + date.getSolar()[1] + "月" + date.getSolar()[2] + "日"); + } } }); } @@ -86,6 +95,7 @@ public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "请完善日期!", Toast.LENGTH_SHORT).show(); return; } + chooseDate.setText("当前选中的日期:" + year.getText() + "年" + month.getText() + "月" + day.getText() + "日"); calendarView.toSpecifyDate(Integer.valueOf(year.getText().toString()), Integer.valueOf(month.getText().toString()), Integer.valueOf(day.getText().toString())); @@ -97,6 +107,8 @@ public void onClick(DialogInterface dialog, int which) { public void today(View view) { calendarView.today(); + int[] date = CalendarUtil.getCurrentDate(); + chooseDate.setText("当前选中的日期:" + date[0] + "年" + date[1] + "月" + date[2] + "日"); } public void lastMonth(View view) { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9601432..dca6c24 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -137,4 +137,10 @@ + + diff --git a/calendarview/build.gradle b/calendarview/build.gradle index 43124b8..ff8432e 100644 --- a/calendarview/build.gradle +++ b/calendarview/build.gradle @@ -11,8 +11,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 26 - versionCode 1 - versionName "1.0" + versionCode 2 + versionName "2.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/calendarview/src/main/java/com/othershe/calendarview/utils/LunarUtil.java b/calendarview/src/main/java/com/othershe/calendarview/utils/LunarUtil.java index 2ea7d86..ba86a59 100644 --- a/calendarview/src/main/java/com/othershe/calendarview/utils/LunarUtil.java +++ b/calendarview/src/main/java/com/othershe/calendarview/utils/LunarUtil.java @@ -220,7 +220,7 @@ private static int getYearDays(int year) { */ private static int getLeapMonthDays(int year) { if (getLeapMonth(year) != 0) { - if ((LUNAR_INFO[year - 1900] & 0xf0000) == 0) { + if ((LUNAR_INFO[year - MIN_YEAR] & 0xf0000) == 0) { return 29; } else { return 30; @@ -309,7 +309,7 @@ private static String getLunarHoliday(int year, int month, int day) { } public static int daysInLunarMonth(int year, int month) { - if ((LUNAR_INFO[year - MIN_YEAR] & (0x100000 >> month)) == 0) + if ((LUNAR_INFO[year - MIN_YEAR] & (0x10000 >> month)) == 0) return 29; else return 30;