/**
* 隐藏 DatePicker的年和日
*
* @param dialog
*/
private void hidYearDay(Dialog dialog) {
int SDKVersion;
try {
SDKVersion = Integer.valueOf(android.os.Build.VERSION.SDK);
} catch (NumberFormatException e) {
SDKVersion = 0;
}
DatePicker dp = findDatePicker((ViewGroup) dialog.getWindow()
.getDecorView());
if (dp != null) {
if (SDKVersion < 11) {
((ViewGroup) dp.getChildAt(0)).getChildAt(1).setVisibility(
View.GONE);
((ViewGroup) dp.getChildAt(0)).getChildAt(2).setVisibility(
View.GONE);
} else if (SDKVersion > 14) {
View view1 = ((ViewGroup) ((ViewGroup) dp.getChildAt(0))
.getChildAt(0)).getChildAt(1);
view1.setVisibility(View.GONE);
View view2 = ((ViewGroup) ((ViewGroup) dp.getChildAt(0))
.getChildAt(0)).getChildAt(2);
view2.setVisibility(View.GONE);
}
}
}
/**
* 从当前Dialog中查找DatePicker子控件
*
* @param group
* @return
*/
private DatePicker findDatePicker(ViewGroup group) {
if (group != null) {
for (int i = 0, j = group.getChildCount(); i < j; i++) {
View child = group.getChildAt(i);
if (child instanceof DatePicker) {
return (DatePicker) child;
} else if (child instanceof ViewGroup) {
DatePicker result = findDatePicker((ViewGroup) child);
if (result != null)
return result;
}
}
}
return null;
}
最近发现,在小米2A还是2S上面,会显示错误