Руководство Android TimePicker
View more Tutorials:
Android TimePicker это компонент позволяющий пользователю выбрать время (time), включая часы и минуты.
TimePicker имеет 2 режима с разными интерфейсами:
- Clock
- Spinner
Clock Mode
Режим Clock (Clock mode) является режимом по умолчанию у TimePicker, в данном режиме пользователь может выбрать время визуально словно он/она меняет время на часах (Clock). Помимо этого, пользователь так же имеет другую опцию - это использовать клавиатуру для введения значения часам и минутам.
TimePicker (Clock Mode)
<TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:timePickerMode="clock" />

TimePicker timePicker = (TimePicker) this.findViewById(R.id.timePicker); timePicker.setIs24HourView(true); // 24H Mode.

Spinner Mode
В режиме Spinner (Spinner mode), TimePicker состоит из 2-х или 3-х Spinner. При этом первый Spinner позволяет пользователю выбрать час, второй Spinner позволяет выбрать минуты и третий Spinner для выбора AM или PM.
TimePicker в режиме Spinner & AM_PM состоит из 3-х Spinner, пользователь выбирает час в первом Spinner со значениями от 1 до 12. Выбирает минуты во втором Spinner со значениями от 0 до 59 и выбирает AM/PM в третьем spinner.
TimePicker (Spinner Mode)
<TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:timePickerMode="spinner" />

TimePicker в режиме Spinner & 24H состоит из 2-х Spinner, пользователь выбирает час в первом Spinner со значениями от 0 до 23, и минуты во втором Spinner со значениями от 0 до 59.
TimePicker timePicker = (TimePicker) this.findViewById(R.id.timePicker); timePicker.setIs24HourView(true); // 24H Mode.

Просмотр примера:

На Android Studio создайте project:
- File > New > New Project > Empty Activity
- Name: TimePickerExample
- Package name: org.o7planning.timepickerexample
- Language: Java
Интерфейс приложения:

activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:timePickerMode="clock" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="HH:mm" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/timePicker" /> </androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package org.o7planning.timepickerexample; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import android.widget.TimePicker; public class MainActivity extends AppCompatActivity { private TimePicker timePicker; private TextView textViewTime; // Change this value and run the application again. private boolean is24HView = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.textViewTime = (TextView) this.findViewById(R.id.textView_time); this.timePicker = (TimePicker) this.findViewById(R.id.timePicker); this.timePicker.setIs24HourView(this.is24HView); this.timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { textViewTime.setText(hourOfDay + ":" + minute); } }); } }