5.0系统下的时间选择器效果图:



该项目兼容到3.0以下所以用第三方开源项目:actionbarsherlock,动画效果兼容:nineoldandroids-2.4.0.jar,格式转换器:joda-time-2.1.jar

主要调用代码实例:

import org.joda.time.DateTime;import android.os.Bundle;import android.support.v4.app.FragmentTransaction;import android.text.format.DateFormat;import android.widget.Toast;import com.actionbarsherlock.app.SherlockFragmentActivity;import com.doomonafireball.betterpickers.calendardatepicker.CalendarDatePickerDialog;import com.doomonafireball.betterpickers.radialtimepicker.RadialTimePickerDialog;public class MainActivity extends SherlockFragmentActivity implements CalendarDatePickerDialog.OnDateSetListener, RadialTimePickerDialog.OnTimeSetListener {public static final String FRAG_TAG_TIME_PICKER = "timePickerDialogFragment";public static final String FRAG_TAG_DATE_PICKER = "fragment_date_picker_name";private boolean mHasDialogFrame;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/*FragmentManager fm = getSupportFragmentManager();DateTime now = DateTime.now();CalendarDatePickerDialog calendarDatePickerDialog = CalendarDatePickerDialog.newInstance(this, now.getYear(), now.getMonthOfYear() - 1,now.getDayOfMonth());calendarDatePickerDialog.show(fm, FRAG_TAG_DATE_PICKER);*/ if (savedInstanceState == null) {            mHasDialogFrame = findViewById(R.id.frame) != null;        }DateTime now = DateTime.now();RadialTimePickerDialog timePickerDialog = RadialTimePickerDialog.newInstance(this, now.getHourOfDay(), now.getMinuteOfHour(),DateFormat.is24HourFormat(this));if (mHasDialogFrame) {FragmentTransaction ft = getSupportFragmentManager().beginTransaction();ft.add(R.id.frame, timePickerDialog, FRAG_TAG_TIME_PICKER).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit();} else {timePickerDialog.show(getSupportFragmentManager(), FRAG_TAG_TIME_PICKER);}}@Overridepublic void onResume() {// Example of reattaching to the fragmentsuper.onResume();/*CalendarDatePickerDialog calendarDatePickerDialog = (CalendarDatePickerDialog) getSupportFragmentManager().findFragmentByTag(FRAG_TAG_DATE_PICKER);if (calendarDatePickerDialog != null) {calendarDatePickerDialog.setOnDateSetListener(this);}*/ RadialTimePickerDialog rtpd = (RadialTimePickerDialog) getSupportFragmentManager().findFragmentByTag(                FRAG_TAG_TIME_PICKER);        if (rtpd != null) {            rtpd.setOnTimeSetListener(this);        }}@Overridepublic void onTimeSet(RadialTimePickerDialog dialog, int hourOfDay,int minute) {// TODO Auto-generated method stubString result="" + hourOfDay + ":" + minute;Toast.makeText(this, result, Toast.LENGTH_SHORT).show();}@Overridepublic void onDateSet(CalendarDatePickerDialog dialog, int year,int monthOfYear, int dayOfMonth) {// TODO Auto-generated method stubString result="Year: " + year + "\nMonth: " + monthOfYear + "\nDay: " + dayOfMonth;Toast.makeText(this, result, Toast.LENGTH_SHORT).show();}}

Theme:


界面颜色风格修改:

<?xml version="1.0" encoding="utf-8"?>    #00000000    #ffffffff    #ff4c4c4c    #28ffffff    #00000000    #46c5c1ff    #ff33b5e5    #ff000000    #ffb2b2b2    #28000000    #00000000    #ff00ddff    #ff00ddff    #ffffff    #f2f2f2    #cccccc    #8c8c8c    #000000    #cccccc    #8c8c8c    #7f000000    #33b5e5    #c1e8f7    #33999999    #0099cc    #ff999999    #999999    #f2f2f2    #ffd1d2d4        #ff3333    #853333    #404040    #363636    #808080    #ffffff    #888888    #bfbfbf    #fff2f2f2    #ff737373

比如:

  #cfcfcf

修改星期几对应的TextView 的背景色,具体颜色含义参考 Dialog定义


下面是所有源码下载地址:http://download.csdn.net/detail/anddroid_lanyan/8839177

更多相关文章

  1. Android(安卓)自定义View
  2. Android开发入门之拨打电话
  3. android关于手机和3.0版本以上平板去标题问题
  4. Android(安卓)Studion样式中自带的三个item分别代表什么:
  5. Android(安卓)EditText 中hint文字大小以及与输入文字颜色保存一

随机推荐

  1. Android Touch事件
  2. android installd分析
  3. Android Jetpack之Lifecycle的源码分析
  4. Android(安卓)四个步骤集成EventBus事件
  5. 2011.09.01(5)——— android checkbox自定
  6. startActivity exposed beyond app throu
  7. Build Android Platform
  8. Android动画之translate(位移动画)
  9. Android中真正的Player
  10. Android(安卓)Studio编译使用了Maven的工