read
android5.0及以上的版本中,DatePicker在calendar的模式下,自带了一个快速切换年份和日期的头部:
隐藏这个头部的原理就是找到相应的View并设置Visibility为Gone.
在DatePicker源码中,如果mode使用的是Calendar则会调用createCalendarUIDelegate方法。
createCalendarUIDelegate则会返回一个DatePickerSpinnerDelegate
其中DatePickerCalendarDelegate使用的布局文件为R.layout.date_picker_material
R.layout.date_picker_material的内容为:
第一个include的布局就是头部了,接下来要做的就是找到这个View然后隐藏掉。
为了保证隐藏掉的View就是想要隐藏的头部,可以加上id的判断。
- 5.0中头部根布局的id为day_picker_selector_layout
- 6.0及以上,头部根布局的id为date_picker_header
设置为gone之后还要动态的调整一下布局,所以最后的方法为:
最终效果: