自定义dialog
package com.poptest; import android.app.DatePickerDialog; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.DatePicker; //dialog类 public class YearPickerDialog extends DatePickerDialog { public YearPickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { super(context, callBack, year, monthOfYear, dayOfMonth); this.setTitle(year + "年" + (monthOfYear + 1) + "月"); //getChildAt(2)隐藏日的显示可以改变隐藏的对象 ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE); ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE); } public YearPickerDialog(Context context, int theme, OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth) { super(context, theme, listener, year, monthOfYear, dayOfMonth); this.setTitle(year + "年" + (monthOfYear + 1) + "月"); ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE); ((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE); } @Override public void onDateChanged(DatePicker view, int year, int month, int day) { super.onDateChanged(view, year, month, day); this.setTitle(year + "年" + (month + 1) + "月"); } }
时间处理类
//时间处理类 package com.poptest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { public static Date strToDate(String style, String date) { SimpleDateFormat formatter = new SimpleDateFormat(style); try { return formatter.parse(date); } catch (ParseException e) { e.printStackTrace(); return new Date(); } } public static String dateToStr(String style, Date date) { SimpleDateFormat formatter = new SimpleDateFormat(style); return formatter.format(date); } public static String clanderTodatetime(Calendar calendar, String style) { SimpleDateFormat formatter = new SimpleDateFormat(style); return formatter.format(calendar.getTime()); } public static String DateTotime(long date, String style) { SimpleDateFormat formatter = new SimpleDateFormat(style); return formatter.format(date); } }<pre name="code" class="java">//调用方式 final Calendar calendar = Calendar.getInstance(); </pre><pre name="code" class="java"><span style="white-space:pre"> </span>//没有AlertDialog.THEME_HOLO_LIGHT这个Theme出来的dialog非常丑 new YearPickerDialog(this, AlertDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, monthOfYear); Log.d("###",DateUtil.clanderTodatetime(calendar, "yyyy-MM")); } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE)).show(); </pre><br> <pre></pre> <h3><a name="t2"></a><em>解决7.0系统使用该方式调用崩溃的情况(只遇到在小米7.0系统崩溃,华为等7.0不会崩溃)</em></h3>
package com.dmos; import android.app.DatePickerDialog; import android.content.Context; import android.os.Bundle; import android.widget.DatePicker; import android.widget.LinearLayout; import android.widget.NumberPicker; public class MyDatePickerDialog extends DatePickerDialog{ public MyDatePickerDialog(Context context, int theme, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { super(context, theme, callBack, year, monthOfYear, dayOfMonth); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout mSpinners = (LinearLayout) findViewById(getContext().getResources().getIdentifier("android:id/pickers", null, null)); if (mSpinners != null) { NumberPicker mYearSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/year", null, null)); NumberPicker mMonthSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/month", null, null)); NumberPicker mDaySpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/day", null, null)); mSpinners.removeAllViews(); //如果要隐藏年,月,日中的某一项取消其addView就好了 if (mYearSpinner != null) { mSpinners.addView(mYearSpinner); } if (mMonthSpinner!= null) { mSpinners.addView(mMonthSpinner); } if (mDaySpinner != null) { mSpinners.addView(mDaySpinner); } } } @Override public void onDateChanged(DatePicker view, int year, int month, int day) { super.onDateChanged(view, year, month, day); setTitle(year+"年"+(month+1)+"月"); } }
以上所述是小编给大家介绍的Android自定义dialog可选择展示年月日时间选择栏,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
PHP 7.0.33和yii2.0.16在这里。 我需要定制一个yii2日期时间选择器,我在某个时候卡住了。我看了几个扩展,我最终使用了下面的一个,因为它让我最接近我想要实现的目标: https://github.com/kartik-v/yii2-date-range 所以,我的代码是: 结果是: 几乎不错,但是有几件事我不知道我是否可以定制: > 当我开始选择日期、时间、分钟时,目标表单元素的
本文向大家介绍iOS自定义日期选择器,包括了iOS自定义日期选择器的使用技巧和注意事项,需要的朋友参考一下 前言 封装了一个日期选择器,解决两个问题: 1、点击textField,键盘弹出和日期选择器弹出的逻辑处理; 2、同一个界面需要多次用到日期选择器时,判断点击的textField; 一、封装日期选择器类YCDatePickerView 1、新建一个类,基于UIView,取名YCDatePic
本文向大家介绍轻松实现可扩展自定义的Android滚轮时间选择控件,包括了轻松实现可扩展自定义的Android滚轮时间选择控件的使用技巧和注意事项,需要的朋友参考一下 项目需求中有个功能模块需要用到时间选择控件,但是android系统自带的太丑了,只能自己优化下,结合WheelView实现滚轮选择日期,好像网上也挺多这种文章的。但是适用范围还是不同,希望这个能够对需求相同的朋友有一定帮助。控件标题
本文向大家介绍Android日期选择器实现年月日三级联动,包括了Android日期选择器实现年月日三级联动的使用技巧和注意事项,需要的朋友参考一下 最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml MainActivity: 主要的类: 底部弹出框布局: 运行效果图: 以上就是
如何实现时间选择器(以及日期选择器)的这种布局?默认布局要么是一个(非常大的)时钟,要么是一个(不漂亮的)旋转器样式的时间选择器。我在几个应用程序中看到了这一点,但找不到如何实现这种外观和感觉。
本文向大家介绍iOS实现自定义日期选择器示例,包括了iOS实现自定义日期选择器示例的使用技巧和注意事项,需要的朋友参考一下 iOS自定义日期选择器,下面只是说明一下怎么用,具体实现请在最后下载代码看看; 效果如下: .h文件解析 选择日期选择器样式 DateStyleShowYearMonthDayHourMinute :显示年月日时分 DateStyleShowMonthDayHourMinut