web-dev-qa-db-ja.com

TimePickerDialogの作成方法android

TimePickerDialogを作成したいのですが、テーマはサンプルダイアログです。

しかし、私はこのリンクをたどります

http://www.Android-examples.com/create-timepickerdialog-to-select-time-in-12-hours-format-Android/

結果は単純なダイアログではありません

結果は

enter image description here

が欲しいです

enter image description here

これを設定する方法は?

申し訳ありませんが私の画像はとても大きいです。

4
ARR.s

私は古い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();
        }

これがお役に立てば幸いです...助けが必要な場合はお知らせください

8
Lokesh Desai

以下のコードを試してください。あなたが提供した画像とほとんど同じように見えます

<TimePicker
    Android:id="@+id/simpleTimePicker"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:timePickerMode="spinner"/>

enter image description here

2

試してみてくださいdatePickerMode spinner日時ピッカーの以下のコードのように

Android:calendarViewShown="false"
Android:datePickerMode="spinner"
0
OmiK

この行を変更します。

timepickerdialog = new TimePickerDialog(MainActivity.this,
new TimePickerDialog.OnTimeSetListener() {

これに:

timepickerdialog = new TimePickerDialog(MainActivity.this, AlertDialog.THEME_DEVICE_DEFAULT_DARK,
                    new TimePickerDialog.OnTimeSetListener() {

TimePickerにテーマを設定できます

0
sam

カスタム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);
    }
0
Stuti Kasliwal

あなたはカスタムを使うことができます タイムピッカー そして私はそれをもっとカスタマイズしました ここ S-plannerのように

0
Rajesh Nasit