プログラムでDatePickerを作成する必要があります。そして、私はxmlレイアウトを使用できません。私はxml _datePickerMode="spinner"
_にスピナーを設定していることを知っているので、datePicker.setSpinnersShown(true);
とdatePicker.setCalendarViewShown(false)
を使用できます。コンストラクタにAttributeSet
を追加してみますが、使用方法がわかりませんそれ。誰かがお手伝いできますか?スピナーモードでDataPickerを作成する方法
ありがとうございました
私はすでにこの問題を説明する投稿を見つけました:
私は次の投稿で説明を見つけました(これは私のものと非常によく似た問題を説明しています):
Android Material Design Inline Datepickerの問題
実際、setCalendarViewShown(false)とsetSpinnersShown(true)は、最新バージョンでは動作していないようです。
このような明示的なXML属性を使用する必要がありますAndroid:datePickerMode = "spinner"。
問題は、XMLレイアウトなしのDialogFragment(日付ピッカーダイアログのみ)を使用していることです。そのため、XML属性を設定できません。
解決策は、要求された属性を使用して、XMLレイアウトファイルで専用のカスタムダイアログを作成することです。
それが役に立てば幸い
プログラムで設定したい場合は、以下のコードを使用できますが、このコードが機能しているかどうかは確認していません。他の方法でお手伝いできるかどうかお知らせください。
datepickerDialog_object.getDatePicker().setSpinnersShown(true);
datepickerDialog_object.getDatePicker().setCalendarViewShown(false);
プログラムでDatePickerModeスピナーモードを設定するのに役立ちます。
Theme_Holo_Dialog_MinWidth is deprecated
val dpDialog = DatePickerDialog(activity!!,
Android.R.style.Theme_Holo_Dialog_MinWidth,listener,
year, month, day)
dpDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
dpDialog.show()