📜  Kotlin中的动态DatePicker

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

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

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

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

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

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

修改activity_main.xml文件



      

修改字符串.xml文件


    DynamicDatePickerInKotlin

在MainActivity.kt文件中创建DatePicker

首先,我们声明一个变量datePicker以在Kotlin文件中创建DatePicker小部件。

val datePicker = DatePicker(this)

然后,我们将使用

val linearLayout = findViewById(R.id.linear_layout)
        // add datePicker in LinearLayout
        linearLayout?.addView(datePicker)

我们熟悉前几篇文章中的进一步活动。

package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.*
import java.util.*
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val datePicker = DatePicker(this)
        val layoutParams = LinearLayout.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT)
        datePicker.layoutParams = layoutParams
  
  
        val linearLayout = findViewById(R.id.linear_layout)
        // add datePicker in LinearLayout
        linearLayout?.addView(datePicker)
  
        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的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!