使用的控件 DatePicker


默认的DatePicker

添加如下代码即可设置成滚动的选择日历

android:datePickerMode=”spinner”
android:calendarViewShown=”false”


初始化日历控件设置
调用初始化方法

public void init(int year, int monthOfYear, int dayOfMonth,
OnDateChangedListener onDateChangedListener)

参数内容分别对应年、月、日

注意:

我们设置不同语言的日历,年月日显示的顺序是不一样的
所以我们要判断语言(特别的只显示部分时间,例如只显示年、月或者只显示年份等)
我们创建一个实例对象mDatePicker

if ( mDatePicker != null) {            if (getResources().getConfiguration().locale.getCountry().equals("CN")){                ((ViewGroup)((ViewGroup) mDatePicker.getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);            }            else{                ((ViewGroup)((ViewGroup) mDatePicker.getChildAt(0)).getChildAt(0)).getChildAt(1).setVisibility(View.GONE);            }        }

上述代码是只显示年、月,去除日,对于语言是中文,我们隐藏最后一行的view 。 对于语言是英语我们隐藏中间的view。


以上就可以显示对应的日期了,同时我们系统默认的分割线是蓝色的,我们可以自定义分割线颜色。调用如下函数
,颜色修改R.color.green

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(this.getResources().getColor(R.color.green)));                    } catch (IllegalArgumentException e) {                        e.printStackTrace();                    } catch (Resources.NotFoundException e) {                        e.printStackTrace();                    } catch (IllegalAccessException e) {                        e.printStackTrace();                    }                    break;                }            }        }    }

更多相关文章

  1. android的init.rc文件的语法
  2. android强制隐藏输入法键盘(亲测可用,欢迎留言)
  3. 八款android日历 [Calendar] 开源项目框架分类总汇
  4. Android日历只显示年月,只显示年
  5. android webkit 初始化流程
  6. Netty多语言(Java、Android(安卓)、C#、WebSocket)通信实例Demo (三
  7. android process information
  8. 【基于Android的ARM汇编语言系列】之六:NEON指令集与VFP指令集
  9. android刮奖控件,使用简单。

随机推荐

  1. Android环境安装
  2. Android的日志系统分层与logcat使用
  3. Android: JAVA和C# 3DES加密解密
  4. Android(安卓)EditText实现字符过滤
  5. Android 多个Activity选项卡实现
  6. android hook getdeceiveid
  7. Android中创建对话框
  8. Android(安卓)Stduio出现“required plug
  9. android ExpandableListView ExpandableL
  10. pandaboard ES学习之旅——4 Android源代