导航:首页 > 操作系统 > androidtimepicker

androidtimepicker

发布时间:2022-09-26 22:59:54

Ⅰ 如何在android中设置自定义分钟间隔TimePickerDialog

您好,很高兴能帮助您
private class DurationTimePickDialog extends TimePickerDialog
{
final OnTimeSetListener mCallback;
TimePicker mTimePicker;
final int increment;

public DurationTimePickDialog(Context context, OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView, int increment)
{
super(context, callBack, hourOfDay, minute/increment, is24HourView);
this.mCallback = callBack;
this.increment = increment;
}

@Override
public void onClick(DialogInterface dialog, int which) {
if (mCallback != null && mTimePicker!=null) {
mTimePicker.clearFocus();
mCallback.onTimeSet(mTimePicker, mTimePicker.getCurrentHour(),
mTimePicker.getCurrentMinute()*increment);
}
}

@Override
protected void onStop()
{
// override and do nothing
}

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
Class<?> rClass = Class.forName("com.android.internal.R$id");
Field timePicker = rClass.getField("timePicker");
this.mTimePicker = (TimePicker)findViewById(timePicker.getInt(null));
Field m = rClass.getField("minute");

NumberPicker mMinuteSpinner = (NumberPicker)mTimePicker.findViewById(m.getInt(null));
mMinuteSpinner.setMinValue(0);
mMinuteSpinner.setMaxValue((60/increment)-1);
List<String> displayedValues = new ArrayList<String>();
for(int i=0;i<60;i+=increment)
{
displayedValues.add(String.format("%02d", i));
}
mMinuteSpinner.setDisplayedValues(displayedValues.toArray(new String[0]));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

}

你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,

Ⅱ android中怎么改变timepicker界面的颜色和风格

TimePicker->NumberPicker->EditText->setTextColor

具体内容可以进入 http://blog.csdn.net/u011240877 我的博客搜索TimePicker查看相关文章

Ⅲ android程序中TimePickerDialog中的时间调大,用getTimeInMillis()获取时间却是小于当前时间的为什么

当前时间毫秒数,是一只增长的。你获取 TimePicker 时间肯定没有 当前时间快啊,所以肯定两个时间是由间隔的。

Ⅳ android对TimePickerDialog进行监听 为什么onTimeSet会执行两次

Android中TimePickerDialog和DatePickerDialog都是SDK的时间日期选择控件,如果onTimeSet执行两次,那说明修改方法被执行了两次。
在Android程序中,通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:
1.先定义DatePicker和TimePicker布局
2.然后通过Calendar类获得系统时间
3.接着通过init方法将日期传递给DatePicker初始化日期控件
4.在响应点击事件中可以通过DatePicker的getYear()、getDayOfMonth()、getMonth()函数获取具体日期
同时可以在OnDateChangedListener事件中监听日期变化,设置时间函数方法同理。

Ⅳ android timepicker 如何限制时间范围比如只能有两个小时的时间可以选

datepicker可以通过xml设定,timepicker貌似没有相关的属性。不过你可以在代码中手动检查,比如在用户点击确定之后检查下是否在时间范围里再决定如何处理

Ⅵ android timepicker 怎么显示秒

android自带的timePicker不行,android源代码只提供了显示和更新小时数/分钟数/AM/PM的方法。要显示秒数的话需要自己写相应代码,

java">Calendarc=Calendar.getInstance();
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);
day=c.get(Calendar.DAY_OF_MONTH);
hour=c.get(Calendar.HOUR);
minute=c.get(Calendar.MINUTE);

可以看看安卓巴士的教程:网页链接

Ⅶ android 怎么设置timePicker可以选择的时间范围

Android DatePickerDialog只能设置当前显示的值,不能设置选择范围,范围需要在代码中判断。
在Android程序中,通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:
1.先定义DatePicker和TimePicker布局。
2.然后通过Calendar类获得系统时间。
3.接着通过init方法将日期传递给DatePicker初始化日期控件。
4.在响应点击事件中可以通过DatePicker的getYear()、getDayOfMonth()、getMonth()函数获取具体日期。
同时可以在OnDateChangedListener事件中监听日期变化,设置时间函数方法同理。

Ⅷ android timepicker 可以显示秒数吗

Android组件TimePicker组件的深入解析,自定义TimePicker组件,实现时间的秒数只显示00或者30,实现时间的整点选择或半点选择
上截图(注意文章中有些截图没上,如果想看请下载附件里面的文档)

大家注意设置时间的时候分钟只能设置00或者30,这就是我自定义的,因为最近公司有这样的属性,需要用户提交的时间是整点或者半点

<!--[if !supportLists]-->1. <!--[endif]-->TimePicker组件其实继承FrameLayout的,可以算的上是一个布局,就像那些TabHost等等的布局一样
<!--[if !supportLists]-->2. <!--[endif]-->在TimePicker的构造函数里面,
public TimePicker(Context context, AttributeSet attrs, int defStyle)
我们看到了这样的代码
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.time_picker,this, // we are the parent
true);
一看我们就应该知道了,其实TimePicker也是一种布局,而且他有自己的布局文件R.layout.time_picker
其实在这个构造函数里面我们知道,android的底层其实也是调用java的
// initialize to current time
Calendar cal = Calendar.getInstance();
这个函数来获取时间的
// by default we're not in 24 hour mode
setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));
setCurrentMinute(cal.get(Calendar.MINUTE));
初始化时间
<!--[if !supportLists]-->3. <!--[endif]-->关于在TimePicker的构造函数里加载的R.layout.time_picker我们打开android的平台文件夹
如:
F:\android-sdk-windows\platforms\android-8\data\res\layout在此文件夹下面我们找到了time_picker.xml文件,打开此布局文件我们看到了两个NumberPicker元属和一个Button元属,此控件的效果图就是这样的(注意此处截图没上,如果需要请下载附件的文档)
用过TimePicker控件的朋友应该知道,此控件会自动生成一个按钮,此按钮是显示AM/PM的,其实我们也可以通过函数
TimePicker.setIs24HourView(true);//设置时间格式为24小时制
来设置TimePicker的时间显示方法,默认情况下此属性值为false

<!--[if !supportLists]-->4. <!--[endif]-->分析NumberPicker组件,我们找到android的源码找到NumberPicker.java在此类里面我们看到了此类其实是继承LinearLayout由此可知,其实NumberPicker组件也是一个布局元属
在NumberPicker的构造函数里面我们同样看到了
LayoutInflater inflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.number_picker, this, true);
这样的代码,由此我们找到R.layout.number_picker布局文件
<!--[if !supportLists]-->5. <!--[endif]-->分析R.layout.number_picker文件
如:F:\android-sdk-windows\platforms\android-8\data\res\layout在这样的路径下面我们可以找到R.layout.number_picker.xml布局文件 打开此布局文件,我们看到这样的代码
有两个NumberPickerButton和一个EditText其实分析我们不难知道其实这个布局文件生成的样式就是这样的

<!--[if !supportLists]-->6. <!--[endif]-->说了这么多下面我来说重点了,其实我们每次点击+或-都会触发这个监听函数
setOnTimeChangedListener所以如果我们需要对时间进行定制的话,我们可以使用此监听器来做一些事情此监听器会插入三个参数很好的是他把TimePicker对象也传入进来了
public void onTimeChanged(TimePicker view, int hourOfDay, int minute)
下面我来说个业务需求
我们要为用户提供一个选择时间的界面,但用户选择时间秒的时候用户只有两个选择要是秒是00,如
要么秒是30,如
我们该如何来做出这样的应用了,下面我就告诉大家我是如何做出这样的应用的
通过上面我们对TimePicker的源码架构分析可以知道其实我们只要通过java强大的反射机制来修改源码里面的一些属性值就可以做到了

Ⅸ android这个timepicker怎么初始化的

timepicker用于选择一天中时间的视图,支持 24小时及上午/下午模式。小时,分钟及上午/下午(如果可用)都可以用垂直滚动条来控制。用键盘来输入小时。两个数的小时数可以通过输入两个数字来实现,例如在一定时间内输入‘1’和‘2’即选择了12点。分钟能显示输入的单个数字。在AM/PM模式下,用户可以输入'a', 'A"或 'p', 'P'来选取。对于对话框视图,参见TimePickerDialog。

TimePicker也继承自FrameLayout类. 时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM制),并允许用户进行选择.如果要捕获用户修改的时间数据事件,便需要为TimePicker添加OnTimeChangedListener事件。
1.重要方法
setCurrentMinute(Integer currentMinute) 设置当前时间的分钟
getCurrentMinute() 获取当前时间的分钟
setEnabled(boolean enabled) 设置当前视图是否可以编辑。
m_TimePicker.setIs24HourView(true); 设置为24小时制显示
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)当时间改变时调用


2.实例:
timePicker = (TimePicker)findViewById(R.id.timePicker);
timePicker.setCurrentHour(16);
timePicker.setCurrentMinute(10);
updateDisplay(16,10);
timePicker.setOnTimeChangedListener(this);

Ⅹ 如何在android中设置自定义分钟间隔timepickerdialog

android如果要修改自定义分钟间隔,通常的做法是重写一个TimePickerDialog,继承它,不过也可以通过监听事件来监听数值的改变,来显示自定义的分钟间隔,代码如下:
private static final int TIME_PICKER_INTERVAL=15;
private boolean mIgnoreEvent=false;

private TimePicker.OnTimeChangedListener mTimePickerListener=new TimePicker.OnTimeChangedListener(){
public void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute){
if (mIgnoreEvent)
return;
if (minute%TIME_PICKER_INTERVAL!=0){
int minuteFloor=minute-(minute%TIME_PICKER_INTERVAL);
minute=minuteFloor + (minute==minuteFloor+1 ? TIME_PICKER_INTERVAL : 0);
if (minute==60)
minute=0;
mIgnoreEvent=true;
timePicker.setCurrentMinute(minute);
mIgnoreEvent=false;
}

}
};

阅读全文

与androidtimepicker相关的资料

热点内容
找漫画看应该下载什么app 浏览:182
如何在vps上搭建自己的代理服务器 浏览:744
nginxphp端口 浏览:403
内脏pdf 浏览:152
怎么看云服务器架构 浏览:85
我的世界国际服为什么登不进服务器 浏览:996
微盟程序员老婆 浏览:930
intellij创建java 浏览:110
java连接odbc 浏览:38
启动修复无法修复电脑命令提示符 浏览:359
手机编程是什么 浏览:98
山东移动程序员 浏览:163
苏州java程序员培训学校 浏览:479
单片机液晶驱动 浏览:856
魔拆app里能拆到什么 浏览:132
新预算法的立法理念 浏览:144
wdcpphp的路径 浏览:136
单片机p0口电阻 浏览:926
浏览器中调短信文件夹 浏览:595
五菱宏光空调压缩机 浏览:70