TimePickerDialog в режиме счетчика

В моем проекте я использую TimepickerDialog для отображения времени в формате TextView. Мой Timepickerdialog отображается как часы, но я хочу, чтобы он отображался как счетчик. Как я могу это сделать?


person zahra s    schedule 12.10.2018    source источник
comment
comment
Возможный дубликат Можно ли изменить стиль Android L TimePickerDialog?   -  person Manohar    schedule 12.10.2018


Ответы (4)


используйте этот код для выбора времени показа в качестве счетчика

    public void showCustomTimePicker()
    {

          final Calendar myCalender = Calendar.getInstance();
          int hour = myCalender.get(Calendar.HOUR_OF_DAY);
          int minute = myCalender.get(Calendar.MINUTE);


            TimePickerDialog.OnTimeSetListener myTimeListener = new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    if (view.isShown()) {
                        myCalender.set(Calendar.HOUR_OF_DAY, hourOfDay);
                        myCalender.set(Calendar.MINUTE, minute);

                    }
                }
            };
            TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), android.R.style.Theme_Holo_Light_Dialog_NoActionBar, myTimeListener, hour, minute, true);
            timePickerDialog.setTitle("Choose hour:");
            timePickerDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
            timePickerDialog.show();
     }
person Bhuvaneshwaran Vellingiri    schedule 12.10.2018

Используйте этот код

  TimePickerDialog picker = new TimePickerDialog(MainActivity.this,android.R.style.Theme_Holo_Light_Dialog_NoActionBar,
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker tp, int sHour, int sMinute) {
                    //eText.setText(sHour + ":" + sMinute);
                }
            }, 2, 3, false);
    picker.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
           picker .show();
person Shahzain ali    schedule 25.06.2019
comment
android.R.style.Theme_Holo_Light_Dialog_NoActionBar устарел в API 28. - person Vadim Kotov; 30.07.2019

Котлин:

Я использовал приведенный ниже код, чтобы перевести Timepicker в режим счетчика.

private fun showTimePicker() {
        // Use the current time as the default values for the picker
        val c = Calendar.getInstance()
        val hour = c.get(Calendar.HOUR_OF_DAY)
        val minute = c.get(Calendar.MINUTE)
        // date picker dialog
        val timeSetListener = TimePickerDialog.OnTimeSetListener { timePicker, hour, minute ->
            c.set(Calendar.HOUR_OF_DAY, hour)
            c.set(Calendar.MINUTE, minute)
            mSelectedTime = SimpleDateFormat("HH:mm").format(c.time)
            root.tvTime.text = mSelectedTime
        }
        val timePickerDialog = TimePickerDialog(requireContext(),AlertDialog.THEME_HOLO_LIGHT, timeSetListener, hour, minute,
            DateFormat.is24HourFormat(requireContext()))
        timePickerDialog.show()
    }
person Yogesh Nikam Patil    schedule 21.11.2020

Добавьте android:timePickerMode = "1" для режима счетчика

а также

android:timePickerMode="2" для режима часов.

Изменить

Используйте тему в конструкторе TimePickerDialog, как это

TimePickerDialog timePickerDialog = new TimePickerDialog(DateTimePickerDialogActivity.this, android.R.style.Theme_Holo_Light_Dialog, onTimeSetListener, hour, minute, is24Hour);
person Rohit5k2    schedule 12.10.2018
comment
Спасибо, но у меня timePickerDialog, а не timePicker - person zahra s; 12.10.2018
comment
@zahras: используйте тему, в которой используется счетчик, например android.R.style.Theme_Holo_Light_Dialog - person Rohit5k2; 12.10.2018
comment
android.R.style.Theme_Holo_Light_Dialog устарел в API 28. - person Vadim Kotov; 30.07.2019
comment
Есть ли неустаревшая тема, использующая счетчик? - person Jeremiah; 11.10.2019