时间选择器、日期选择器、中式日期选择器(包含农历)
开发者:lifh
- 获取选中的日期
- 获取选中日期的时间戳
- 获取选中农历日期
- 获取选中的时间
- 更改背景色
- 设置是否可循环
- 更改可见数量
- 更改默认字体颜色
- 更改默认字体大小
- 更改选中字体颜色
- 更改选中字体大小
- 更改宽度
- 更新选中的背景图片
1.在project的build.gradle添加如下代码(如下图)
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.在Module的build.gradle添加依赖
compile 'com.github.jybin88:DateAndTimePicker:v0.1'
1.日期选择器
getDateString(); //返回格式为yyyy-MM-dd
getDateFormatString(String pDateFormat) //返回自定义格式(pDateFormat)的日期
2.中式日期选择器
getGregorianDateString();//返回格式为yyyy-MM-dd
getGregorianDateString(String pDateFormat) //返回公历日期字符串(自定义格式pDateFormat)
getLunarDateString() //返回农历日期字符串 eg.2017年正月十七
getDateTimeMillis() //返回公历时间戳
3.时间选择器
getTimeString(); //返回公历日期字符串(格式为HH:mm)
日期选择器
setShowDate(int pYear, int pMonth, int pDay)
中式日期选择器
setGregorianDate(int pYear, int pMonth, int pDay) //设置公历日期
setLunarDate(int pYear, int pMonth, int pDay) //设置农历日期
时间选择器
setShowTime(int pHour, int pMinute)
showGregorian(boolean pIsGregorian) //true 显示公历 false 显示农历
1.直接在布局文件中定义
日期选择器
<com.nd.ent.widget.DatePicker
android:id="@+id/dp_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
中式日期选择器
<com.nd.ent.widget.ChineseDatePicker
android:id="@+id/dp_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
时间选择器
<com.nd.ent.widget.TimePicker
android:id="@+id/tp_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
2.直接在代码中创建相应的实例使用
日期选择器
DatePicker datePicker = new DatePicker(this);
中式日期选择器
ChineseDatePicker datePicker = new ChineseDatePicker(this);
时间选择器
TimePicker timePicker = new TimePicker(this);
1.代码动态设置(日期选择器,时间选择器都使用下面的方法)
- 设置背景色:
setPickerBackgroundColor(@ColorInt int pColor)
setPickerBackgroundResource(@DrawableRes int pResId)
setPickerBackground(Drawable pDrawable)
- 设置可见的选项数量:
setVisibleItems(int pVisibleItems)
- 是否循环(只能动态进行设置,默认不循环)
setCycle(boolean pIsCycle)
- 默认字体大小
setItemSize(int pItemSize)
- 选中的字体大小
setSelectedItemSize(int pSelectedItemSize)
- 默认字体颜色
setItemColor(@ColorInt int pItemColor)
- 选中的字体颜色
setSelectedColor(@ColorInt int pSelectedColor)
- 宽度
setItemWidth(int pItemWidth)
- 选中的背景图片
setCenterDrawableId(@DrawableRes int pCenterDrawableId)
2.XML中静态设置
在布局根节点添加
xmlns:picker="http://schemas.android.com/apk/res-auto"
通过下面属性进行设置
- 日期选择器
picker:ent_picker_date_bg_color="#ffffff" //背景色
picker:ent_picker_date_center_drawable="@drawable/item_center_bg" // 选中的背景图片
picker:ent_picker_date_item_color="#ff0000" //默认字体颜色
picker:ent_picker_date_item_selected_color="#0000ff" //选中字体颜色
picker:ent_picker_date_item_size="@dimen/default_size"//默认字体大小(必须在dimen文件中定义相应的值)
picker:ent_picker_date_item_width="90dp" //宽度
picker:ent_picker_date_selected_item_size="@dimen/selected_size"//选中字体大小(必须在dimen文件中定义相应的值)
picker:ent_picker_date_visible_count="3" //可见的选项数量
- 时间选择器
picker:ent_picker_time_bg_color="#ffffff" //背景色
picker:ent_picker_time_center_drawable="@drawable/item_center_bg" // 选中的背景图片
picker:ent_picker_time_item_color="#ff0000" //默认字体颜色
picker:ent_picker_time_item_selected_color="#0000ff" //选中字体颜色
picker:ent_picker_time_item_size="@dimen/default_size"//默认字体大小(必须在dimen文件中定义相应的值)
picker:ent_picker_time_item_width="90dp" //宽度
picker:ent_picker_time_selected_item_size="@dimen/selected_size"//选中字体大小(必须在dimen文件中定义相应的值)
picker:ent_picker_time_visible_count="3" //可见的选项数量
3.通过样式进行设置
- 日期选择器、中式日期选择器
<com.nd.ent.widget.DatePicker
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/date_picker_style"/>
<com.nd.ent.widget.ChineseDatePicker
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/date_picker_style"/>
或在全局样式中使用
<style name="AppTheme1" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- 指定全局样式. -->
<item name="ent_picker_dateStyle">@style/date_picker_style</item>
</style>
如果同时使用了上面两种方式,优先使用style="@style/date_picker_style"
date_picker_style样式参考
<style name="date_picker_style" parent="ent_picker_dateDefaultStyle">
<item name="ent_picker_date_item_color">#ff0000</item>
<item name="ent_picker_date_item_selected_color">#00ff00</item>
<item name="ent_picker_date_item_size">@dimen/date_picker_text_size</item>
<item name="ent_picker_date_selected_item_size">@dimen/date_picker_selected_text_size</item>
<item name="ent_picker_date_item_height">50sp</item>
<item name="ent_picker_date_visible_count">3</item>
<item name="ent_picker_date_center_drawable">@drawable/item_center_bg</item>
</style>
- 时间选择器
<com.nd.ent.widget.TimePicker
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/time_picker_style" />
或在全局样式中使用
<style name="AppTheme1" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- 指定全局样式. -->
<item name="ent_picker_timeStyle">@style/time_picker_style</item>
</style>
如果同时使用了上面两种方式,优先使用style="@style/time_picker_style"
time_picker_style样式参考
<style name="time_picker_style" parent="ent_picker_timeDefaultStyle">
<item name="ent_picker_time_item_color">#ff0000</item>
<item name="ent_picker_time_item_selected_color">#00ff00</item>
<item name="ent_picker_time_item_size">@dimen/time_picker_text_size</item>
<item name="ent_picker_time_selected_item_size">@dimen/time_picker_selected_text_size</item>
<item name="ent_picker_time_item_height">50sp</item>
<item name="ent_picker_time_visible_count">3</item>
<item name="ent_picker_time_center_drawable">@drawable/item_center_bg</item>
</style>
- com.android.support:support-annotations
- com.android.support:support-v4
- com.android.support:appcompat-v7