Android Material Design 5.0 PickerDialog
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; @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 Material Design 5.0 PickerDialog的更多相关文章
- Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决
Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决 附录1的Android Ripple Effect水 ...
- Android Material Design 兼容库的使用
Android Material Design 兼容库的使用 mecury 前言:近来学习了Android Material Design 兼容库,为了把这个弄懂,才有了这篇博客,这里先推荐两篇博客: ...
- Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计
Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计 Android Ripple Effect波纹荡漾效果,是Android Materia ...
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...
- MaterialEditText——Android Material Design EditText控件
MaterialEditText是Android Material Design EditText控件.可以定制浮动标签.主要颜色.默认的错误颜色等. 随着 Material Design 的到来, ...
- Android Material Design控件学习(三)——使用TextInputLayout实现酷市场登录效果
前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--Navigation ...
- Could not resolve com.android.support:design 28.0.0
想试一试android的那个侧滑栏功能,需要用到 'com.android.support:design:28.0.0'建好之后一直报关于28.00的错误,一开始各种百度更改配置没吊用,最后感觉是网络 ...
- Android Material Design控件学习(一)——TabLayout的用法
前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...
- Android Material Design简单使用
吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照着 iOS 来画一遍,Material Design 辣 ...
随机推荐
- 3/21 Django框架 模板路径及模板过滤器 1.模板路径查找
3/21 Django框架 模板路径及模板过滤器 1.模板路径查找 先找settings.py里的TEMPLATES列表下的DIRS路径.如果APP_DIRS为True,还会到注册了的APP文件夹下依 ...
- 20160218.CCPP体系具体解释(0028天)
程序片段(01):加法.c 内容概要:字符串计算表达式 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <st ...
- PHP盛宴——经常使用函数集锦
近期写了蛮多PHP,也接触到挺多经常使用的函数,大多都记了笔记,发个博客出来.共同学习.事实上感觉学习一门语言,语法逻辑是软素养.而对语言的熟悉程度仅仅能随着使用时间的增长而慢慢增长,当对一门语言的函 ...
- 【程序猿笔试面试复习】之中的一个 网络与通信篇(一) 几大网络模型:OSI、TCP/IP、B/S与C/S、MVC结构
9.1网络模型 9.1.1. OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型称为开放式网络互联參考模型.其为国际标准组织指定的一个指导信息互 ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第五篇:MVC整合Ajax
摘要 本文将从完成“输入数据验证”这个功能出发,逐渐展开ASP.NET MVC与Ajax结合的方法.首先,本文将使用ASP.NET MVC提供的同步方式完成数据验证.而后,将分别结合ASP. ...
- MES制造系统
给大家介绍一个非常不错的MES专业产品网站,http://www.OrBitMES.com 上面分为初.中.高各级的难得的MES产品学习资料下载, http://www.orbitmes.com/Pr ...
- 卫星网络中使用TCP协议的劣势(所以才有TCP优化版用来卫星通信啊,比如TCP-Peach和ADolar)
卫星网络中使用TCP协议的劣势 为了避免产生网络拥塞,原TCP协议综合采用了慢启动.拥塞避免.快速重传以及快速恢复等算法.但这些算法应用的前提是网络发生拥塞造成丢包,然而在误码率相对较高的卫星通信系统 ...
- php课程 9-33 php文件操作里面的注意事项有哪些
php课程 9-33 php文件操作里面的注意事项有哪些 一.总结 一句话总结:文件操作其实很简单,就是几个文件操作函数需要记一下. 1.文件函数如何使用(如何找php文件函数的资料)? 查看参考手册 ...
- ivotal-tc-Server与Tomcat区别
Pivotal-tc-Server之前叫做SpringSource tc Server,包含三个版本分别是:Spring版.标准版和开发版,但其中只有开发版是免费的.比如在STS中包含的版本就是开发板 ...
- MAVEN Error: Using platform encoding (GBK actually) to copy filtered resources.....
环境:Maven3.2.5+MyEclipse 2015CI 现象:在Maven编译过程中出现错误信息:Using platform encoding (GBK actually) to copy f ...