xml Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txtDate"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtTime"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/d1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="D0" />
<Button
android:id="@+id/t1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="t0" />
</LinearLayout>
Kotlin Code
注意换包名 另外这里使用了id 'kotlin-android-extensions'
插件
package com.zhang.discipline_app
import android.annotation.SuppressLint
import android.app.DatePickerDialog
import android.app.TimePickerDialog
import android.icu.util.Calendar
import android.os.Build
import android.os.Bundle
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.tomato_activity.*
import java.util.*
class Tomato_activity : AppCompatActivity() {
@SuppressLint("SetTextI18n", "ResourceType")
@RequiresApi(Build.VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.tomato_activity)
d1.setOnClickListener {
val c = Calendar.getInstance(Locale.CHINA)
DatePickerDialog(this, 0, { view, year, monthOfYear, dayOfMonth ->
txtDate.text = "你选择了 $year 年 ${monthOfYear + 1} 月 $dayOfMonth 日"
}, c[Calendar.YEAR], c[Calendar.MONTH], c[Calendar.DAY_OF_MONTH]).show()
}
t1.setOnClickListener {
val c = Calendar.getInstance(Locale.CHINA)
TimePickerDialog(this, 0, { view, hourOfDay, minute ->
txtTime.text = "你选择了:$hourOfDay 时 $minute 分"
}, c[Calendar.HOUR_OF_DAY], c[Calendar.MINUTE], true).show()
}
}
}
其中DatePickerDialog
第二个参数themeResId
代表了选择的主题
共有0~5 个选择 大于5之后的都和0一样
下面是日期的
下面是时间的