codestory

Die Anleitung zu Android TimePicker

View more Tutorials:

1- Android TimePicker

Android TimePicker ist eine Komponente, mit der die Benutzer eine Zeit einschließlich Stunde und Minute auswählen können.
TimePicker verfügt über zwei Modi mit unterschiedlicher Interface:
  1. Clock
  2. Spinner

Clock Mode

Clock mode ist der Standardmodus des TimePicker, in dem der Benutzer die Uhrzeit visuell auswählen kann, genau wie man die Uhrzeit auf einer Uhr einstellt. Außerdem können Sie mit der Tastatur die Werte für Stunde und Minute ändern.
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

Im Spinner-Modus (Spinner mode) besteht ein TimePicker aus 2 oder 3 Spinner.  Mit diesen Spinner kann der Benutzer jeweils die Stunde, die Minute und entweder AM oder PM auswählen.
TimePicker im Spinner & AM_PM besteht aus 3 Spinner, bei denen der Benutzer die Stunde im ersten Spinner mit Werten zwischen 1 und 12 auswählt. Wählen Sie dann die Minuten im zweiten Spinner mit den Werten von 0 bis 59 und wählen Sie AM/PM im dritten spinner.
TimePicker (Spinner Mode)
<TimePicker
    android:id="@+id/timePicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:timePickerMode="spinner" />
TimePicker im Spinner & 24H fasst nur 2 Spinner um. Der Benutzer wählt die Stunde im ersten Spinner mit Werten von 0 bis und die Minute im zweite Spinner mit Werten von 0 bis 59.
TimePicker timePicker = (TimePicker) this.findViewById(R.id.timePicker);
timePicker.setIs24HourView(true); // 24H Mode.

2- Das Beispiel von TimePicker

Beispiel-Vorschau:
Im Android Studio erstellen Sie ein neues Projekt:
  • File > New > New Project > Empty Activity
    • Name: TimePickerExample
    • Package name: org.o7planning.timepickerexample
    • Language: Java
Die Interface der Anwendung sieht aus:
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);
            }
        });
    }

}

View more Tutorials: