📜  科特林的TimePicker

📅  最后修改于: 2021-05-10 17:25:41             🧑  作者: Mango

Android TimePicker是一个用户界面控件,用于以24小时格式或AM / PM模式选择时间。它用于确保用户在我们的应用程序中选择当天的有效时间。

在android中,TimePicker有两种模式,一种是时钟模式,另一种是微调器模式。

我们可以在XML布局中手动使用TimePicker,也可以在Kotlin文件中以编程方式创建它。在本文中,我们应该在XML布局中使用TimePicker小部件。

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

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

具有时钟模式的Android TimePicker

我们可以使用android:timePickerMode仅显示时钟视图。在下面的示例中,我们在时钟模式下使用TimePicker。


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

具有Spinner模式的Android TimePicker

我们还可以通过使用android:timePickerMode属性以微调器格式使用TimePicker。


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

TimePicker控件的不同属性–

XML Attributes Description
android:id Used to uniquely identify the control.
android:timePickerMode Used to specify the mode of TimePickerpicker(spinner or clock)
android:background Used to set background color of the Text View.
android:padding Used to set the padding from left, right, top and bottom.
android:visibility Used to specify the visibility of the view.

在activity_main.xml中使用Clock TimePicker

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



  
    
  
    
  

在activity_main.xml中使用Spinner TimePicker

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



  
    
  
    
  

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

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


    TimePickerInKotlin

在MainActivity.kt文件中访问TimePicker

首先,我们定义一个函数OnClickTime()并从MainActivity中调用。

private fun OnClickTime()

然后,我们声明两个变量的TextViewtimePicker访问使用他们的ID从XML布局窗口小部件。

val textView = findViewById(R.id.textView)
val timePicker = findViewById(R.id.timePicker)
package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.*
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        OnClickTime()
    }
  
    private fun OnClickTime() {
        val textView = findViewById(R.id.textView)
        val timePicker = findViewById(R.id.timePicker)
        timePicker.setOnTimeChangedListener { _, hour, minute -> var hour = hour
            var am_pm = ""
            // AM_PM decider logic
            when {hour == 0 -> { hour += 12
                am_pm = "AM"
            }
                hour == 12 -> am_pm = "PM"
                hour > 12 -> { hour -= 12
                    am_pm = "PM"
                }
                else -> am_pm = "AM"
            }
            if (textView != null) {
                val hour = if (hour < 10) "0" + hour else hour
                val min = if (minute < 10) "0" + minute else minute
                // display format of time
                val msg = "Time is: $hour : $min $am_pm"
                textView.text = msg
                textView.visibility = ViewGroup.VISIBLE
            }
        }
    }
}

AndroidManifest.xml文件



  

    
        
            
  
            
        
    

  

作为仿真器运行:

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