Android Material Design Inline Datepicker issue

后端 未结 2 1528
盖世英雄少女心
盖世英雄少女心 2020-12-02 11:00

I have a ScrollView with a Datepicker

In the previous versions of Android the Datepicker is this:

2条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-02 11:54

    Step-1: Create spinner/calendar date picker layout

    .../main/res/layout/spinner_date_picker_layout.xml

        
        
    

    .../main/res/layout/calendar_date_picker_layout.xml

        
        
    

    Step-2: Set clickable behavior on TextView for showing Date Dialog.

    .../main/res/layout/activity_layout.xml

        
    

    Step-3: Show Dialog on onClickDate

    override fun onClickDate() {
            showDialogForDate()
    }
    

    Step-4: Set DatePicker Layout into Dialog View.

    private fun showDialogForDate() {
    
        //Set spinner/calendar date picker layout
        val spinnerDatePicker = layoutInflater.inflate(R.layout.spinner_date_picker_layout, null)
    
        // On click listener for dialog buttons
        val dialogClickListener = DialogInterface.OnClickListener { _, which ->
            when (which) {
                DialogInterface.BUTTON_POSITIVE -> {
                    activity!!.dateText.text = spinnerDatePicker.datePicker.dayOfMonth.toString() + "/" + (spinnerDatePicker.datePicker.month + 1) + "/" + spinnerDatePicker.datePicker.year
                }
                DialogInterface.BUTTON_NEGATIVE -> {
    
                }
            }
        }
    
        val builder = AlertDialog.Builder(context!!)
        builder.setTitle(resources.getString(R.string.dialog_title))
            .setView(spinnerDatePicker)
            .setPositiveButton("Ok", dialogClickListener)
            .setNegativeButton("Cancel", dialogClickListener)
            .create()
            .show()
    }
    

提交回复
热议问题