TimePickerDialogを作成したいのですが、テーマはサンプルダイアログです。
しかし、私はこのリンクをたどります
http://www.Android-examples.com/create-timepickerdialog-to-select-time-in-12-hours-format-Android/
結果は単純なダイアログではありません
結果は
が欲しいです
これを設定する方法は?
申し訳ありませんが私の画像はとても大きいです。
私は古いTimePickerDialog用に1つのメソッドを作成しました...私はあなたと同じ状況にあります..これは私にとってうまく機能しています..
以下の方法を使用してください
public void showHourPicker() {
final Calendar myCalender = Calendar.getInstance();
int hour = myCalender.get(Calendar.HOUR_OF_DAY);
int minute = myCalender.get(Calendar.MINUTE);
TimePickerDialog.OnTimeSetListener myTimeListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
if (view.isShown()) {
myCalender.set(Calendar.HOUR_OF_DAY, hourOfDay);
myCalender.set(Calendar.MINUTE, minute);
}
}
};
TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), Android.R.style.Theme_Holo_Light_Dialog_NoActionBar, myTimeListener, hour, minute, true);
timePickerDialog.setTitle("Choose hour:");
timePickerDialog.getWindow().setBackgroundDrawableResource(Android.R.color.transparent);
timePickerDialog.show();
}
これがお役に立てば幸いです...助けが必要な場合はお知らせください
試してみてくださいdatePickerMode spinner日時ピッカーの以下のコードのように
Android:calendarViewShown="false"
Android:datePickerMode="spinner"
この行を変更します。
timepickerdialog = new TimePickerDialog(MainActivity.this,
new TimePickerDialog.OnTimeSetListener() {
これに:
timepickerdialog = new TimePickerDialog(MainActivity.this, AlertDialog.THEME_DEVICE_DEFAULT_DARK,
new TimePickerDialog.OnTimeSetListener() {
TimePicker
にテーマを設定できます
カスタムTimePicker:
プロジェクト全体でどこでも使用できるメソッドを含むクラスDateTimePickerCustomを作成できます。
public static void getTimePicker(Context context, final int position, final PickerClickListener pickerClickListener) {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialog_time);
dialog.show();
final TimePicker timePicker = (TimePicker) dialog.findViewById(R.id.timePicker);
timePicker.setIs24HourView(false);
Button buttonOk = (Button) dialog.findViewById(R.id.buttonOk);
Button buttonCancel = (Button) dialog.findViewById(R.id.buttonCancel);
buttonCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
buttonOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
SimpleDateFormat sdf24 = new SimpleDateFormat("HH:mm");
SimpleDateFormat sdf12 = new SimpleDateFormat("hh:mm a");
String strTime = timePicker.getCurrentHour() + ":" + timePicker.getCurrentMinute();
Date time = sdf24.parse(strTime);
String formattedTime = sdf12.format(time);
Log.d(TAG, "formattedTime: " + formattedTime);
pickerClickListener.onTimeSelect(formattedTime, position);
dialog.dismiss();
} catch (ParseException e) {
e.printStackTrace();
}
}
});
}
[〜#〜] xml [〜#〜]コード:
<EditText
Android:id="@+id/editTextStartTime"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_centerVertical="true"
Android:editable="false"
Android:focusable="false"
Android:singleLine="true"
Android:textSize="14sp" />
MainActivityでこのメソッドを呼び出します:
@OnClick(R.id.editTextStartTime)
public void startTimePicker() {
DateTimePickerCustom.getTimePicker(context, 0, this);
}