我的设计师希望显示一个DatePicker
,它看起来像一个下拉列表:
使用Spinner
实现相同的目标是否是个好主意?我是否必须编写自己的逻辑来处理几个月,闰年等多少天?
或者有没有办法自定义Android DatePicker
或任何其他小部件来实现此功能,其中我不需要编写处理日期的逻辑?
是否建议采用这种做法?
答案 0 :(得分:1)
如果需要微调器样式的日期选择器,可以将DatePicker的datePickerMode属性设置为微调器。
<DatePicker
...
android:datePickerMode="spinner" />
答案 1 :(得分:1)
看看这个图书馆:https://github.com/code-troopers/android-betterpickers。
摇篮:
compile 'com.code-troopers.betterpickers:library:3.1.0'
在您的活动中;
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerBuilder dpb = new DatePickerBuilder()
.setFragmentManager(getSupportFragmentManager())
.setStyleResId(R.style.BetterPickersDialogFragment)
.setYearOptional(true);
dpb.show();
}
});
答案 2 :(得分:0)
您可以在程序员中设置样式。
etDOB.setOnClickListener(v -> {
DatePickerDialog dialog = new DatePickerDialog(this, android.R.style.Theme_Holo_Dialog, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.show();
});