public class YearMonthPicker extends DatePickerDialog {
public YearMonthPicker(Context context, int theme,
OnDateSetListener callBack, int year, int monthOfYear,
int dayOfMonth) {
super(context, theme, callBack, year, monthOfYear, dayOfMonth);
init(year, monthOfYear, dayOfMonth);
}
public YearMonthPicker(Context context, OnDateSetListener callBack,
int year, int monthOfYear, int dayOfMonth) {
super(context, callBack, year, monthOfYear, dayOfMonth);
init(year, monthOfYear, dayOfMonth);
}
private void init(int year, int month, int dayOfMonth) {
hideDayView();
hideCalendarView();
setTitle(year, month);
}
@SuppressLint("NewApi")
private void hideCalendarView(){
if (android.os.Build.VERSION.SDK_INT >= 11) {
getDatePicker().setCalendarViewShown(false);
}
}
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
super.onDateChanged(view, year, month, day);
setTitle(year, month);
}
private void setTitle(int year, int month) {
month += 1;
String yearStr = String.valueOf(year);
String monthStr = (month < 10) ? ("0" + month) : ("" + month);
setTitle(yearStr + "/" + monthStr);
}
private void hideDayView() {
try {
Field[] datePickerDialogFields = getClass().getSuperclass()
.getDeclaredFields();
for (Field datePickerDialogField : datePickerDialogFields) {
if (datePickerDialogField.getName().equals("mDatePicker")) {
datePickerDialogField.setAccessible(true);
DatePicker datePicker = (DatePicker) datePickerDialogField
.get(this);
Field datePickerFields[] = datePickerDialogField.getType()
.getDeclaredFields();
for (Field datePickerField : datePickerFields) {
if ("mDayPicker".equals(datePickerField.getName())
|| "mDaySpinner".equals(datePickerField
.getName())) {
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
- 大小: 49.4 KB
分享到:
相关推荐
在Android开发中,`DatePicker`是用于让用户选择日期的一个组件,通常显示年、月、日三个部分。然而,根据你的需求,你希望`DatePicker`仅显示年份和月份,而不包含日期部分。这个功能可以用来让用户选择特定的年份...
在Android开发中,`DatePicker` 是一个常用的组件,用于让用户选择日期。然而,原生的 `DatePicker` 组件默认提供的是日、月、年的全选功能。在某些场景下,我们可能只需要用户选择年份和月份,而不需要精确到具体的...
在Android开发中,`DatePicker`是系统提供的一个用于选择日期的标准控件,通常用于日历功能或者设置日期相关的场景。然而,系统默认的`DatePicker`样式可能无法满足所有设计需求,这时就需要对其进行自定义,以适应...
- 这个函数可能包括处理四位数字的年份、两位数字的月份和日期,并确保符合中文的习惯,如“二零二三年二月二十八日”。 3. **用户界面本地化**: - 除了日期格式外,日期选择器的按钮文本(如“确定”、“取消”...
可自由组合时间(例如年月日,时分,年月日时分,年月日时等); 定义初始时间,限定时间范围;
在Java代码中,可以通过`setDate()`方法设置`DatePicker`的初始显示日期,如: ```java DatePicker datePicker = findViewById(R.id.datePicker); Calendar calendar = Calendar.getInstance(); datePicker....
在`DatePickerDemo`这个项目中,开发者可能创建了一个简单的界面,包含一个`DatePicker`和一个按钮,用户选择日期后点击按钮显示所选日期。通过这样的实践,开发者能够更深入地理解`DatePicker`的用法,以及如何与...
"时间日期控件DatePicker和TimePicker"是Android SDK中的两个重要组件,用于处理时间和日期选择。这两个控件允许用户在应用中方便地设置或选择日期和时间,常用于日程安排、事件设定等场景。 DatePicker组件提供了...
在Android开发中,创建用户友好的界面和交互是至关重要的,本`android demo`着重展示了如何处理Progress进度条、DatePicker日期选择器、导航栏以及按钮等常见组件的使用。下面将详细阐述这些知识点: 1. **Progress...
在Android开发中,`DatePicker`是一个非常常用的组件,它允许用户选择日期,通常用于日历功能或者设置出生日期等场景。本篇文章将深入探讨`DatePicker`的使用、配置以及自定义,帮助你更好地理解和应用这一组件。 #...
`DatePicker`控件是Android提供的一个标准UI元素,它提供了日、月、年的选择器,用户可以通过滚动来选取特定的日期。在XML布局文件中,你可以通过`<DatePicker>`标签添加该控件。 ### 2. XML布局中添加`DatePicker`...
在Android应用开发中,中级视图组件如DatePicker和TimePicker是构建用户界面的重要部分,用于获取用户的日期和时间输入。这两个组件提供了用户友好的界面,让用户可以方便地选择日期和时间,常见于日历应用、事件...
Android Studio 中的 DatePicker 和 TimePicker 组件使用详解 Android Studio 是 Google 官方推出的 Android 应用程序集成开发环境(IDE),提供了许多实用的组件和工具来帮助开发者快速构建高质量的 Android 应用...
在Android开发中,`DatePicker`和`TimePicker`控件是用于用户选择日期和时间的常见组件,它们通常以对话框的形式展现,提供便捷的交互方式。本文将深入讲解这两个控件的使用方法、功能特性以及如何在实际应用中集成...
此外,`DatePicker`还支持动态设置日期和选择模式,例如设置最小和最大可选日期,以及是否显示星期等。源码中会展示这些功能的实现细节,这对于理解`DatePicker`的灵活性和可定制性至关重要。 自定义`DatePicker`...
在这个源码中,我们可以深入学习如何在Android应用中集成和自定义`DatePicker`,以提供用户友好的日期选择体验。 `DatePicker`是Android SDK中的一个视图组件,位于`android.widget`包下,主要功能是展示日历视图,...
DatePicker在Android中的用法示例,演示了如何创建和获得Calendar对象,初始化DatePicker,为TimePicker添加监听器,更新EditText所显示内容等,本例子中实现了DatePicker的日期和时间选择自定义功能。这个过程中涉及到...
此外,`DatePicker`还可以根据Android版本和设备的地区设置自动适应不同的日期格式。例如,在某些地区,月份可能会显示为文字而非数字。 在Android Studio中,你可以在布局预览中查看`DatePicker`的外观,也可以在...
如果一切正常,应用将在Android模拟器或连接的设备上启动,显示一个DatePicker,让用户选择日期。 这个简单的例子展示了如何在Eclipse中开始Android开发,使用基本的UI组件(DatePicker)并与之交互。虽然现在...