如何移除Android中DatePickerDialog顶部栏的日期?
解决DatePickerDialog移除顶部日期栏的问题
嘿,我来帮你搞定这个需求!你要移除的那个顶部日期其实是DatePickerDialog的标题栏,可以通过两种简单的方式实现:
方法一:通过自定义样式隐藏标题栏
你已经在使用自定义样式R.style.DatePicker了,只需要在styles.xml里给这个样式添加隐藏标题的属性即可:
<style name="DatePicker" parent="Theme.AppCompat.Light.Dialog"> <!-- 保留你已有的其他样式属性 --> <item name="android:windowNoTitle">true</item> <!-- 适配AppCompat主题,确保属性生效 --> <item name="windowNoTitle">true</item> </style>
这样创建DatePickerDialog时,标题栏会被自动隐藏,顶部的日期也就看不到了。
方法二:通过代码动态隐藏标题栏
如果不想修改样式,也可以在创建Dialog后、调用show()之前,通过代码手动隐藏标题:
修改你的Java代码如下:
final Calendar mCalender = Calendar.getInstance(); int mYear = mCalender.get(Calendar.YEAR); int mMonth = mCalender.get(Calendar.MONTH); int mDay = mCalender.get(Calendar.DAY_OF_MONTH); DatePickerDialog dialog = new DatePickerDialog(getActivity(),R.style.DatePicker, (DatePickerDialog.OnDateSetListener) getActivity(), mYear, mMonth, mDay); // 添加这行代码隐藏标题栏 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.show();
或者也可以用另一种等效写法:
dialog.getWindow().setTitle("");
两种方法都能达到你想要的效果,选你觉得更顺手的就行~
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

