public class     MainActivity     extends     AppCompatActivity {                   private     WheelView     mYearView    ;              private     WheelView     mMonthView    ;              private     WheelView     mDayView    ;              private     WheelView     mHourView    ;              private     WheelView     mMinView    ;              private     Button     mTimeBtn    ;                             @Override                  protected void     onCreate    (Bundle savedInstanceState) {                  super    .onCreate(savedInstanceState)    ;                  setContentView(R.layout.    activity_main    )    ;                  initView()    ;                  }                   private void     initView    () {                  mYearView     = (WheelView)findViewById(R.id.    year    )    ;                  mMonthView     = (WheelView)findViewById(R.id.    month    )    ;                  mDayView     = (WheelView)findViewById(R.id.    day    )    ;                  mHourView     = (WheelView)findViewById(R.id.    hour    )    ;                  mMinView     = (WheelView)findViewById(R.id.    mins    )    ;                  mTimeBtn     = (Button)findViewById(R.id.    tv_time    )    ;                             setDate()    ;                  setTime()    ;                             mTimeBtn    .setOnClickListener(    new     View.OnClickListener() {                  @Override                  public void     onClick    (View view) {              String time = String.    format    (Locale.    CHINA    ,    "%04d        %02d        %02d         %02d        %02d        "    ,    mYearView    .getCurrentItem()+    1950    ,                  mMonthView    .getCurrentItem()+    1    ,    mDayView    .getCurrentItem()+    1    ,    mHourView    .getCurrentItem()    ,    mMinView    .getCurrentItem())    ;                  Toast.    makeText    (MainActivity.    this,     time    ,     Toast.    LENGTH_LONG    ).show()    ;                  }              })    ;                  }                   private void     setTime    () {               Calendar c = Calendar.    getInstance    ()    ;              int     curHour = c.get(Calendar.    HOUR_OF_DAY    )    ;              int     curMin = c.get(Calendar.    MINUTE    )    ;                             initHour()    ;                  initMins()    ;                  //     设置当前时间                  mHourView    .setCurrentItem(curHour)    ;                  mMinView    .setCurrentItem(curMin)    ;                  mHourView    .setVisibleItems(    7    )    ;                  mMinView    .setVisibleItems(    7    )    ;                  }                   private void     setDate    () {              Calendar c = Calendar.    getInstance    ()    ;              int     curYear = c.get(Calendar.    YEAR    )    ;              int     curMonth = c.get(Calendar.    MONTH    ) +     1    ;    //    通过    Calendar    算出的月数要    +1                  int     curDate = c.get(Calendar.    DATE    )    ;                             initYear()    ;                  initMonth()    ;                  initDay(curYear    ,    curMonth)    ;                             mYearView    .setCurrentItem(curYear -     1950    )    ;                  mMonthView    .setCurrentItem(curMonth -     1    )    ;                  mDayView    .setCurrentItem(curDate -     1    )    ;                  mYearView    .setVisibleItems(    7    )    ;                  mMonthView    .setVisibleItems(    7    )    ;                  mDayView    .setVisibleItems(    7    )    ;                  }                   /**              *     初始化年                  */                  private void     initYear    () {              NumericWheelAdapter numericWheelAdapter =     new     NumericWheelAdapter(    this,    1950    ,     2050    )    ;                  numericWheelAdapter.setLabel(    "         "    )    ;                  numericWheelAdapter.setTextSize(    25    )    ;                  mYearView    .setViewAdapter(numericWheelAdapter)    ;                  mYearView    .setCyclic(    true    )    ;                  }                   /**              *     初始化月                  */                  private void     initMonth    () {              NumericWheelAdapter numericWheelAdapter =     new     NumericWheelAdapter(    this,    1    ,     12    ,     "%02d"    )    ;                  numericWheelAdapter.setLabel(    "         "    )    ;                  numericWheelAdapter.setTextSize(    25    )    ;                  mMonthView    .setViewAdapter(numericWheelAdapter)    ;                  mMonthView    .setCyclic(    true    )    ;                  }                   /**              *     初始化天                  */                  private void     initDay    (    int     arg1    , int     arg2) {              NumericWheelAdapter numericWheelAdapter=    new     NumericWheelAdapter(    this,    1    ,     getDay(arg1    ,     arg2)    ,     "%02d"    )    ;                  numericWheelAdapter.setLabel(    "         "    )    ;                  numericWheelAdapter.setTextSize(    25    )    ;                  mDayView    .setViewAdapter(numericWheelAdapter)    ;                  mDayView    .setCyclic(    true    )    ;                  }                   /**              *     初始化时                  */                  private void     initHour    () {              NumericWheelAdapter numericWheelAdapter =     new     NumericWheelAdapter(    this,    0    ,     23    ,     "%02d"    )    ;                  numericWheelAdapter.setLabel(    "         "    )    ;                  numericWheelAdapter.setTextSize(    25    )    ;                  mHourView    .setViewAdapter(numericWheelAdapter)    ;                  mHourView    .setCyclic(    true    )    ;                  }                   /**              *     初始化分                  */                  private void     initMins    () {              NumericWheelAdapter numericWheelAdapter =     new     NumericWheelAdapter(    this,    0    ,     59    ,     "%02d"    )    ;                  numericWheelAdapter.setLabel(    "         "    )    ;                  numericWheelAdapter.setTextSize(    25    )    ;                  mMinView    .setViewAdapter(numericWheelAdapter)    ;                  mMinView    .setCyclic(    true    )    ;                  }                   /**              *              *     @param     year                  *     @param     month                  *     @return                  */                  private int     getDay    (    int     year    , int     month) {                  int     day =     30    ;              boolean     flag =     false;              switch     (year %     4    ) {                  case     0    :              flag =     true;              break;              default    :              flag =     false;              break;                  }                  switch     (month) {                  case     1    :                  case     3    :                  case     5    :                  case     7    :                  case     8    :                  case     10    :                  case     12    :              day =     31    ;              break;              case     2    :              day = flag ?     29     :     28    ;              break;              default    :              day =     30    ;              break;                  }                  return     day    ;                  }              }      
   
   
资源下载地址  http://download.csdn.net/download/shaoninglipan/10016094
参考 http://www.cnblogs.com/liushilin/p/5749481.html

更多相关文章

  1. android之【本地通知Notification】
  2. Android之省市县三级联动
  3. Android(安卓)ViewPager实现图片 小圆点切换
  4. Android中GPS/Map的运用
  5. android 怎样用代码设置墙纸
  6. android dialog
  7. 开源项目Universal Image Loader for Android(安卓)说明文档 (2)
  8. Android(安卓)HttpClient
  9. Android一直震动源码

随机推荐

  1. android:layout_weight的真实含义
  2. Android碎片化问题 java.lang.NoClassDef
  3. Android中两种设置全屏的方法 && Android
  4. android studio 怎么取消默认AppcompatAc
  5. listview 左滑弹出删除按钮,需要折腾一下
  6. Android样式——Styles
  7. Android(安卓)Recovery的汉化 显示中文
  8. Android(安卓)Service用法讲解与实例
  9. Android开发学习之设置Android壁纸的功能
  10. Linux下Android内核源码下载