datepickerdialog 隐藏日历并将我的日期选择器视图更改为标准模式
Posted
技术标签:
【中文标题】datepickerdialog 隐藏日历并将我的日期选择器视图更改为标准模式【英文标题】:datepickerdialog hide calendar and change my date picker view to standard mode 【发布时间】:2017-03-03 08:52:23 【问题描述】:我想将我的日期选择器视图更改为标准模式
来自
到
我的代码是
dateOfBirthET = (EditText) findViewById(R.id.dateOfBirth);
//setting dateSetListener
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener()
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth)
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
updateLabelToSave();
;
//setting onClickListener on setDate
dateOfBirthET.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
DatePickerDialog dpd = new DatePickerDialog(RegisterActivity.this, date,
myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
//setting maxDate on tempCal
long maxDate = new Date().getTime();
tempCal.setTimeInMillis(maxDate);
tempCal.set(Calendar.YEAR, tempCal.get(Calendar.YEAR) - 16);
dpd.getDatePicker().setMaxDate(tempCal.getTimeInMillis());
dpd.show();
);
我也试过这段代码,但不工作
dpd.getDatePicker().setCalendarViewShown(false);
【问题讨论】:
参考此链接***.com/questions/28740657/… 【参考方案1】:您只需要在创建 DatePickerDialog 实例时更改您想要的主题
DatePickerDialog dpd = new DatePickerDialog(RegisterActivity.this, android.R.style.Theme_Holo_Dialog ,date,
myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
为我工作测试了 android 6.0 marshmallow。
【讨论】:
【参考方案2】:上面写着setCalendarViewShown doc
DatePicker_datePickerMode 时调用该方法无效 属性设置为日历。
从 Android L 开始,选择 Material 主题后,android:datePickerMode
的默认布局是日历(参见 here)
所以如果你想把你的 DatePickerDialog 改成 spiner 风格,你必须改android:datePickerMode
现在我看到 datePickerMode 不能以编程方式更改,它只能通过配置 XML 来更改
<DatePicker
android:layout_
android:layout_
android:datePickerMode="spinner"
/>
因此我认为你应该创建一个自定义的 DatePickerDilog 布局
【讨论】:
以上是关于datepickerdialog 隐藏日历并将我的日期选择器视图更改为标准模式的主要内容,如果未能解决你的问题,请参考以下文章
Android DatePickerDialog样式不一致的问题