我的应用程序有一个DatePickerDialog。当我在不同的设备上运行相同的代码运行不同的机器人我得到一个不同的对话框。我理解在不同版本的android中,相同的小部件可能看起来不同但为什么wigets功能与同一源代码不同。
下面是两个小部件,第一个是android 2.3.3,第二个是Android 4.0.4。我知道它们看起来不一样,但是我希望在小部件的顶部处理日期,就像它在2.3.3版本中一样,但在4.0.4中。为什么“2012年8月8日星期四”未在4.0.4中显示?
答案 0 :(得分:1)
为什么“2012年11月8日星期四”未在4.0.4中显示?
只有做出该决定的人才能回答。如果我不得不捅它,我猜他们认为它不知何故更漂亮。
您当然可以自由创建自己的日期选择器对话框,该对话框会根据您的需要显示您想要的所有信息。如果您希望所有API版本的应用程序100%一致,那么这可能是最佳选择。
修改强>
Here is the source code for DatePickerDialog
看起来您可以覆盖DatePickerDialog的onDateChanged()以获得所需的效果。我正在处理一大堆代码,现在发布。
再次编辑:
这里有一个片段,它可以在我有权访问的4.0.3设备上正常运行。
df = DateFormat.getDateInstance(DateFormat.FULL);
mCal = Calendar.getInstance();
// Create a date picker dialog
DatePickerDialog datePickerDialog = new DatePickerDialog(this,datePickerDialogListener, year, month, day){
@Override
public void onDateChanged(DatePicker view, int year,int month, int day){
mCal.set(Calendar.YEAR, year);
mCal.set(Calendar.MONTH, month);
mCal.set(Calendar.DAY_OF_MONTH, day);
setTitle(df.format(mCal.getTime()));
}
};
您必须添加代码才能在显示对话框之前第一次设置它。
答案 1 :(得分:0)