如何禁用android中的计时器选择器对话框上的过去时间

时间:2016-05-15 06:32:16

标签: android android-timepicker

这是我的代码。请解释如何使用时间选择器对话框禁用过去的时间,并给出一些代码如何在此代码中禁用过去的时间以及如何使用android时间选择器对话框应用它。时间选择器对话框类没有任何setMinTime方法以及如何获取它。

public void keyReleased(KeyEvent e) 
{
if(e.getKeyCode() == KeyEvent.VK_RIGHT)
    {
        if(repeatCheck)
            return;

        rightPressed = true; 
        repeatCheck = true;
        if(matchRight)
            score++;
        else
            score = 0;
    }
}

感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:6)

有关详细信息,请访问此page

使用此库。

enter image description here

<强>依赖

 dependencies {
      compile 'com.wdullaer:materialdatetimepicker:2.3.0'
    }

用它来显示Dialog

Calendar now = Calendar.getInstance();
                TimePickerDialog tpd = TimePickerDialog.newInstance(
                        MainActivity.this,
                        now.get(Calendar.HOUR_OF_DAY),
                        now.get(Calendar.MINUTE),
                        mode24Hours.isChecked()
                );
                tpd.setThemeDark(modeDarkTime.isChecked());
                tpd.vibrate(vibrateTime.isChecked());
                tpd.dismissOnPause(dismissTime.isChecked());
                tpd.enableSeconds(enableSeconds.isChecked());
                if (modeCustomAccentTime.isChecked()) {
                    tpd.setAccentColor(Color.parseColor("#9C27B0"));
                }
                if (titleTime.isChecked()) {
                    tpd.setTitle("TimePicker Title");
                }
                if (limitTimes.isChecked()) {
                    tpd.setTimeInterval(2, 5, 10);
                }
                tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
                    @Override
                    public void onCancel(DialogInterface dialogInterface) {
                        Log.d("TimePicker", "Dialog was cancelled");
                    }
                });
                tpd.show(getFragmentManager(), "Timepickerdialog");

当用户选择时间时从对话框获取时间。

@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {
  String time = "You picked the following time: "+hourOfDay+"h"+minute;
  timeTextView.setText(time);
}

使用此项设置最短时间

setMinTime(Timepoint time)

例如

tpd.setMinTime(now2.get(Calendar.HOUR_OF_DAY),now2.get(Calendar.MINUTE),
                        now2.get(Calendar.SECOND));

在上面的示例中,MinTime是当前时间。

方法setMinTime有三个参数小时,分钟,秒;

setMinTime(5,0,0); // By using this minTime is set to 5 'o clock.