DatePicker设置时间选择器的分割线颜色

/**
 * 设置时间选择器的分割线颜色
 *
 * @param datePicker
 */
private void setDatePickerDividerColor(DatePicker datePicker) {
    // Divider changing:

    // 获取 mSpinners
    LinearLayout llFirst = (LinearLayout) datePicker.getChildAt(0);

    // 获取 NumberPicker
    LinearLayout mSpinners = (LinearLayout) llFirst.getChildAt(0);
    for (int i = 0; i < mSpinners.getChildCount(); i++) {
        NumberPicker picker = (NumberPicker) mSpinners.getChildAt(i);

        Field[] pickerFields = NumberPicker.class.getDeclaredFields();
        for (Field pf : pickerFields) {
            if (pf.getName().equals("mSelectionDivider")) {
                pf.setAccessible(true);
                try {
                    pf.set(picker, new ColorDrawable(getResources().getColor(R.color.transparent)));
                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (Resources.NotFoundException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
                break;
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/u014644594/article/details/82791023
今日推荐