Android日期选择器,可以自定义样式

原创 2015年11月20日 11:46:46

第一次写这个鬼。各位勿喷。好的给个支持。不好的指出来。大家一起学习进步!

http://download.csdn.net/detail/song_java1/9285399,,先附上源码下载地址



下面开始讲解:这个是效果图(字体样式。。嘿嘿。。不要介意)




整个项目需要用到的东西

主要的类是:RollPickerDialog类。继承AlertDialog。里面的注释小弟都写上啦。这里就不多做介绍


MainActivity类:

public class MainActivity extends Activity implements OnClickListener,
RollCallBack {
private Button but;
private TextView  tvyears, tvmonth, tvday;
String years, month, day;
private RollPickerDialog pickerDialog;// 日期选择器


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);


pickerDialog = new RollPickerDialog(MainActivity.this, this);


but = (Button) findViewById(R.id.but);


tvyears = (TextView) findViewById(R.id.tv_years);
tvmonth = (TextView) findViewById(R.id.tv_month);
tvday = (TextView) findViewById(R.id.tv_day);


but.setOnClickListener(this);


}


@Override
public void onClick(View v) {
if (v == but) {
setData();
pickerDialog.SetData(
0,
"选择生日",
new int[] { 1950,
Integer.parseInt(Util.getTodayYearTime()) },
Integer.parseInt(years) - 1950,
new int[] { 1, 12 }, Integer.parseInt(month),
new int[] { 1, 31 }, Integer.parseInt(day));
pickerDialog.show();
}
}
/**
* 获取TextView控件上的值。确保下次选择的时间正确
*/
private void setData() {
years = tvyears.getText().toString();
month = tvmonth.getText().toString();
day = tvday.getText().toString();
if (years.equals("") || years != null) {
years = "1990";
}
if (month.equals("") || month != null) {
month = "0";
}
if (day.equals("") || day != null) {
day = "0";
}
}
/**
*得到控件选择的时间
*/
@Override
public void setResaultRoll(int select1, int select2, int select3) {
try {


// 提交年龄
StringBuffer sb = new StringBuffer();
sb.append(select1).append(select2 < 10 ? "0" + select2 : select2)
.append(select3 < 10 ? "0" + select3 : select3);
String date = sb.toString();
if (Util.isGetTimebeforeNow(date)) {
years = date;
tvyears.setText(String.valueOf(select1)+"年");
tvmonth.setText(String.valueOf(select2)+"月");
tvday.setText(String.valueOf(select3)+"日");
} else {
Toast.makeText(getApplicationContext(), "选择的日期大于当前日期了", 1)
.show();
}
pickerDialog.dismiss();
} catch (Exception e) {
// TODO: handle exception
}
}


主要的说下pickerDialog.SetData这个方法。里面需要传入的参数:


我这里传入的参数是:0,"选择生日",new int[] { 1950,Integer.parseInt(Util.getTodayYearTime()) },Integer.parseInt(years) - 1950,new int[] { 1, 12 }, Integer.parseInt(month),new int[] { 1, 31 }, Integer.parseInt(day));



相关文章推荐

Android自定义DataTimePicker(日期选择器)

Android自定义DataTimePicker(日期选择器) 笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中。本篇博客给...
  • wwj_748
  • wwj_748
  • 2014年08月23日 15:39
  • 149226

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android自定义日期选择器

先上图: 布局文件:activity_main.xml

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

使Android原生时间选择器样式为滚轮

很简单,修改styles.xml代码     style name="AppBaseTheme" parent="android:Theme.Light">         ...

Android 好看的自定义滚动式日期选择控件

最近接触了日期选择的功能,那么肯定得需要一个日期选择控件,Android 系统有自带的 DatePicker 控件,但是不说这个控件有多 难看吧,现在 Android 手机版本那么多,用户弹出来的控件...

Android自定义滚动式时间选择器(在他人基础上修改)

尽管Android给我们提供了时间选择控件DatePicker和TimePicker(它们的使用方法可以参考我的这篇文章Android之日期时间选择控件DatePicker和TimePicker),但...

安卓 自定义 日期和时间选择器,在一个布局中,可以直接调用

废话不多说先看效果,效果不符合,就不要用看了。 安卓提供自己的日期选择和时间选择,但是样式并不是自己想要的,如果非要把他们放在一起,会发现,样式不好看,而且时间和日期选择控件的大小不好控制,甚至...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android日期选择器,可以自定义样式
举报原因:
原因补充:

(最多只允许输入30个字)