Android Material Design 5.0 PickerDialog
2015-06-25 19:13
519 查看
5.0系统下的时间选择器效果图:
该项目兼容到3.0以下所以用第三方开源项目:actionbarsherlock,动画效果兼容:nineoldandroids-2.4.0.jar,格式转换器:joda-time-2.1.jar
主要调用代码实例:
Theme:
界面颜色风格修改:
比如:
修改星期几对应的TextView 的背景色,具体颜色含义参考 Dialog定义
下面是所有源码下载地址:http://download.csdn.net/detail/anddroid_lanyan/8839177
该项目兼容到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; @Override protected 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); } } @Override public void onResume() { // Example of reattaching to the fragment super.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); } } @Override public void onTimeSet(RadialTimePickerDialog dialog, int hourOfDay, int minute) { // TODO Auto-generated method stub String result="" + hourOfDay + ":" + minute; Toast.makeText(this, result, Toast.LENGTH_SHORT).show(); } @Override public void onDateSet(CalendarDatePickerDialog dialog, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub String result="Year: " + year + "\nMonth: " + monthOfYear + "\nDay: " + dayOfMonth; Toast.makeText(this, result, Toast.LENGTH_SHORT).show(); } }
Theme:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.Sherlock.Light.DarkActionBar">
界面颜色风格修改:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="transparent">#00000000</color> <color name="default_text_color_holo_dark">#ffffffff</color> <color name="default_text_color_holo_dark_disabled">#ff4c4c4c</color> <color name="default_divider_color_dark">#28ffffff</color> <color name="default_button_background_dark">#00000000</color> <color name="default_button_background_pressed_dark">#46c5c1ff</color> <color name="default_keyboard_indicator_color_dark">#ff33b5e5</color> <color name="default_text_color_holo_light">#ff000000</color> <color name="default_text_color_holo_light_disabled">#ffb2b2b2</color> <color name="default_divider_color_light">#28000000</color> <color name="default_button_background_light">#00000000</color> <color name="default_button_background_pressed_light">#ff00ddff</color> <color name="default_keyboard_indicator_color_light">#ff00ddff</color> <color name="white">#ffffff</color> <color name="circle_background">#f2f2f2</color> <color name="line_background">#cccccc</color> <color name="ampm_text_color">#8c8c8c</color> <color name="done_text_color_normal">#000000</color> <color name="done_text_color_disabled">#cccccc</color> <color name="numbers_text_color">#8c8c8c</color> <color name="transparent_black">#7f000000</color> <color name="blue">#33b5e5</color> <color name="blue_focused">#c1e8f7</color> <color name="neutral_pressed">#33999999</color> <color name="darker_blue">#0099cc</color> <color name="date_picker_text_normal">#ff999999</color> <color name="calendar_header">#999999</color> <color name="date_picker_view_animator">#f2f2f2</color> <color name="calendar_selected_date_text">#ffd1d2d4</color> <!-- Colors for red theme --> <color name="red">#ff3333</color> <color name="red_focused">#853333</color> <color name="light_gray">#404040</color> <color name="dark_gray">#363636</color> <color name="line_dark">#808080</color> <color name="done_text_color_dark_normal">#ffffff</color> <color name="done_text_color_dark_disabled">#888888</color> <color name="done_disabled_dark">#bfbfbf</color> <color name="recurrence_picker_background">#fff2f2f2</color> <color name="recurrence_bubble_text_normal">#ff737373</color> </resources>
比如:
<color name="calendar_header">#cfcfcf</color>
修改星期几对应的TextView 的背景色,具体颜色含义参考 Dialog定义
下面是所有源码下载地址:http://download.csdn.net/detail/anddroid_lanyan/8839177
相关文章推荐
- 编译android后找不到ramdisk-u.img[已解决]
- 去掉 Android工程中让人很不爽的“黄色警告”
- Android 有道词典的简单实现方法介绍
- 使用AES加密进行Android的SharedPreferences存储
- Android应用自动更新功能的代码实现
- Android studio1.2 shortCuts 小白使用
- [工作积累] android 中添加libssl和libcurl
- Android 内存管理 &Memory Leak & OOM 分析
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- Android Volley完全解析(一),初识Volley的基本用法
- Android APK 文件自动安装
- android 实现按两次返回键退出
- Android-获取Bitmap对象的API效果差异对比
- Android Volley框架的几种post提交请求方式
- 自定义控件(一)--带清除和抖动功能的EditText
- ExpandableListView的用法
- Android ant自动打包 crunch 报错
- Android 【蓝牙4.0 BLE 低功耗可穿戴设备】 开发总结
- Android Root运行命令辅助类
- 自定义虚线和更换字体