📜  Kotlin中的DatePicker

📅  最后修改于: 2021-05-13 17:14:31             🧑  作者: Mango

Android DatePicker是一个用户界面控件,用于在我们的android应用程序中按日,月和年选择日期。 DatePicker用于确保用户将选择一个有效日期。

在具有两个模式的android DatePicker中,第一个显示完整的日历,第二个显示微调器视图中的日期。

我们可以通过两种方式在XML文件中手动创建DatePicker控件,或者以编程方式在Activity文件中创建DatePicker控件。

首先,我们按照以下步骤创建一个新项目

  1. 单击文件,然后单击新建=>新建项目
  2. 之后,包括Kotlin支持,然后单击下一步。
  3. 根据方便选择最小的SDK,然后单击下一步
  4. 然后选择清空活动=>下一个=>完成

具有日历模式的Android DatePicker

我们可以使用android:datePickerMode仅显示日历视图。在下面的示例中,我们在日历模式下使用DatePicker。


上面的DatePicker代码可以在这样的android应用程序中看到

具有Spinner模式的Android DatePicker

我们还可以通过使用android:datePickerMode属性并设置android:calendarViewShown =“ false”来以微调器格式显示DatePicker,例如分别选择日期,月份和年份,否则可以同时看到微调器和日历。


上面的DatePicker代码可以在这样的android应用程序中看到

DatePicker控件的不同属性–

XML Attributes Description
android:id Used to uniquely identify the control.
android:datePickerMode Used to specify the mode of datepicker(spinner or calendar)
android:calendarTextColor Used to specify the color of the text.
android:calendarViewShown Used to specify whether view of the calendar is shown or not.
android:background Used to set background color of the Text View.
android:padding Used to set the padding from left, right, top and bottom.

在activity_main.xml中使用Calender DatePicker

在此文件中,我们将添加DatePicker和Button小部件并设置其属性,以便可以在kotlin文件中对其进行访问。


  
    

在activity_main.xml中使用Spinner DatePicker

在此文件中,我们将添加DatePicker和Button小部件并设置其属性,以便可以在kotlin文件中对其进行访问。


  
    

修改字符串.xml文件以添加字符串数组

在这里,我们将指定活动的名称。


    DatePickerInKotlin

访问MainActivity.kt文件中的DatePicker

首先,我们声明一个变量datePicker以从XML布局访问DatePicker小部件。

val datePicker = findViewById(R.id.date_Picker)

然后,我们今天声明另一个变量以获取当前的get。

val today = Calendar.getInstance()
    datePicker.init(today.get(Calendar.YEAR), today.get(Calendar.MONTH),
    today.get(Calendar.DAY_OF_MONTH)

要显示日历中的选定日期,我们将使用

{ view, year, month, day ->
            val month = month + 1
            val msg = "You Selected: $day/$month/$year"
            Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
 }

我们熟悉以前的文章中的其他活动,例如访问按钮和设置OnClickListener等。

package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.*
import java.util.*
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val datePicker = findViewById(R.id.date_Picker)
        val today = Calendar.getInstance()
        datePicker.init(today.get(Calendar.YEAR), today.get(Calendar.MONTH),
            today.get(Calendar.DAY_OF_MONTH)
  
        ) { view, year, month, day ->
            val month = month + 1
            val msg = "You Selected: $day/$month/$year"
            Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
        }
    }
}

AndroidManifest.xml文件



  

    
        
            
  
            
        
    

  

作为仿真器运行:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!