Menampilkan TimePicker

Memilih tanggal dan waktu adalah salah satu hal yang umum yang kita buat dalam app mobile. Android akan mensupport fungsi ini melalui view 'TimePicker' dan 'DatePicker'. Berikut adalah latihan bagaimana menampilkan 'TimePicker' dan 'DatePicker'.

TimePicker

TimePicker memungkinkan user untuk memilih waktu, entah dalam format 24 jam atau format AM/PM. Berikut adalah latihan untuk menampilkan 'PickerView'.

1. Kita buat project baru dan kita beri nama "ViewDasar4".

2. Kita modifikasi file layout "activity_main.xml" seperti berikut:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context="id.co.blogspot.diansano.viewdasar4.MainActivity">

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<Button
android:id="@+id/btnSet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Semuanya sudah di-set"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"/>

</LinearLayout>
3. Kita modifikasi file "MainActivity.java" seperti berikut:
package id.co.blogspot.diansano.viewdasar4;

import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

TimePicker timePicker;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

timePicker = (TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
}

public void onClick(View view) {
if (Build.VERSION.SDK_INT >= 23) {
Toast.makeText(getBaseContext(), "Waktu yang dipilih:" +
timePicker.getHour() + ":" + timePicker.getMinute(),
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getBaseContext(), "Waktu yang dipilih:" +
timePicker.getCurrentHour() + ":" + timePicker.getCurrentMinute(),
Toast.LENGTH_LONG).show();
}
}
}
4. Jalankan di emulator Android Studio.

TimePicker
Penjelasan

'TimePicker' menampilkan UI standard yang mengijinkan user untuk men-set waktu. Secara default, 'TimePicker' akan menampilkan waktu dalam format AM/PM. Bila kita ingin menampilkan dalam format 24 jam, kita bisa menggunakan method 'setIs24HourView()'. Untuk mendapatkan waktu yang di-set oleh user, kita bisa menggunakan method 'getHour()' dan 'getMinute()' seperti berikut:
Toast.makeText(getBaseContext(), "Waktu yang dipilih:" +
timePicker.getHour() + ":" + timePicker.getMinute(),
Toast.LENGTH_LONG).show();
Catatan:
Method 'getCurrentHour()' dan 'getCurrentMinute()' sudah deprecated sejak API 23. Method 'getCurrentHour()' akan selalu mengembalikan jam dalam format 24-jam (jadi nilainya antara 0 dan 23).

No comments: