今天學TimePicker
TimePicker 是一個可以用來選擇時間的控件
用法蠻像DatePicker的:)
public class TimePickerActivity extends AppCompatActivity implements View.OnClickListener, TimePickerDialog.OnTimeSetListener {
private TimePicker tp_time;
private TextView tv_time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_time_picker);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
findViewById(R.id.btn_ok).setOnClickListener(this);
findViewById(R.id.btn_time).setOnClickListener(this);
tp_time = findViewById(R.id.tp_time);
tp_time.setIs24HourView(true);
tv_time = findViewById(R.id.tv_time);
}
@Override
public void onClick(View view) {
if(view.getId() == R.id.btn_ok){
String desc = String.format("您選擇的時間是%d時%d分",tp_time.getHour(),tp_time.getMinute());
tv_time.setText(desc);
} else if (view.getId() == R.id.btn_time) {
Calendar calendar = Calendar.getInstance();
TimePickerDialog dialog = new TimePickerDialog(this, android.R.style.Theme_Holo_Light_Dialog,this,calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true);
dialog.show();
}
}
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
String desc = String.format("您選擇的時間是%d時%d分",i,i1);
tv_time.setText(desc);
}
}