Video bài học
public class MainActivity extends AppCompatActivity {
EditText edtDate;
TextView tvTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edtDate = (EditText) findViewById(R.id.editTextDate);
tvTime = (TextView) findViewById(R.id.textViewTime);
edtDate.setOnClickListener(v -> chonNgay());
tvTime.setOnClickListener(v -> chonGio());
}
private void chonNgay(){
final Calendar calendar = Calendar.getInstance();
int ngay = calendar.get(Calendar.DATE);
int thang = calendar.get(Calendar.MONTH);
int nam = calendar.get(Calendar.YEAR);
DatePickerDialog datePickerDialog = new DatePickerDialog(this, (view, year, month, dayOfMonth) -> {
//Lấy thông tin người dùng chọn gán vào calendar
calendar.set(year, month, dayOfMonth);
@SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
edtDate.setText(simpleDateFormat.format(calendar.getTime()));
}, ngay, thang, nam);
datePickerDialog.show();
}
private void chonGio(){
Calendar calendar = Calendar.getInstance();
int gio = calendar.get(Calendar.HOUR_OF_DAY);
int phut = calendar.get(Calendar.MINUTE);
// Context, OnTimeSetListener(), giờ, phút, true/false(24/12)
TimePickerDialog timePickerDialog = new TimePickerDialog(this, (view, hourOfDay, minute) -> {
// Bắt sự kiện của người dùng
@SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
calendar.set(0, 0, 0, hourOfDay, minute);
tvTime.setText(simpleDateFormat.format(calendar.getTime()));
}, gio, phut, true);
timePickerDialog.show();
}
}
Hướng dẫn custom lại giống hình trên
edtGio.setOnClickListener(v -> {
Calendar calendar = Calendar.getInstance();
int h_now = calendar.get(Calendar.HOUR_OF_DAY);
int m_now = calendar.get(Calendar.MINUTE);
@SuppressLint("SetTextI18n")
TimePickerDialog timePickerDialog =
new TimePickerDialog(CreateNewProjectActivity.this
, android.R.style.Theme_Holo_Light_Dialog_MinWidth
, (view, hourOfDay, minute) ->
edtGio.setText(hourOfDay + ":" +minute), h_now, m_now,false);
timePickerDialog.setTitle(getString(R.string.chon_gio_cho_du_an));
// Dòng bên dưới sẽ xóa background của lớp Holo bị có thể xóa nếu không thích
timePickerDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
timePickerDialog.show();
});
edtNgay.setOnClickListener(v -> {
Calendar calendar = Calendar.getInstance();
int ngay = calendar.get(Calendar.DAY_OF_MONTH);
int thang = calendar.get(Calendar.MONTH);
int nam = calendar.get(Calendar.YEAR);
// Sử dụng Theme_Holo_Dialog sẽ cho bạn giao diện tối
DatePickerDialog datePickerDialog = new DatePickerDialog(
CreateNewProjectActivity.this
, android.R.style.Theme_Holo_Light_Dialog
, (view, year, month, dayOfMonth) -> edtNgay.setText(dayOfMonth + "/" + (month+1) + "/" + year)
, nam, thang, ngay);
datePickerDialog.setTitle(getString(R.string.chon_gio_cho_du_an));
// Dòng bên dưới sẽ xóa background của lớp Holo bị có thể xóa nếu không thích
datePickerDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
datePickerDialog.show();
});