NEWS DETAIL

android compose TimePickerDialog 时间选择对话框 使用

发布时间:2026/10/25 17:53:36 · 栏目:资讯中心

尧图网络原创建站知识分享正文
android compose TimePickerDialog 时间选择对话框 使用请注意此代码段中的要点DialWithDialogExample可组合项将 TimePicker 封装在对话框中。TimePickerDialog是一个自定义的可组合函数用于创建具有以下参数的AlertDialogonDismiss当用户关闭对话框通过关闭按钮或返回导航时调用的函数。onConfirm用户点击“确定”按钮时调用的函数。content在对话框中显示时间选择器的可组合项。AlertDialog包含一个标有“关闭”的关闭按钮。一个标有“确定”的确认按钮。作为text参数传递的时间选择器内容。DialWithDialogExample使用当前时间初始化TimePickerState并将其传递给TimePicker和onConfirm函数。package com.wn.androidcomposedemo1.basegoogle import android.app.TimePickerDialog import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.TimePicker import androidx.compose.material3.TimePickerState import androidx.compose.material3.rememberTimePickerState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import com.wn.androidcomposedemo1.ui.theme.AndroidComposeDemo1Theme import java.util.Calendar /** * Author : wn * Email : maoning20080808163.com * Date : 2026/6/28 21:28 * Description : 时间选择框 */ class TimeDialogActivity : ComponentActivity(){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { AndroidComposeDemo1Theme() { Surface( modifier Modifier.fillMaxSize(), color MaterialTheme.colorScheme.background ) { TimeDialogDemo() } } } } OptIn(ExperimentalMaterial3Api::class) Composable fun TimeDialogDemo(){ var showDialog by remember { mutableStateOf(false) } Column( modifier Modifier.fillMaxSize(), horizontalAlignment Alignment.CenterHorizontally, verticalArrangement Arrangement.Center ) { Button(onClick { showDialog true }) { Text(选择时间) } } if(showDialog){ DialWithDialogExample( onConfirm { timePickerState - val hour timePickerState.hour val minute timePickerState.minute Log.d(AAA , 点击确定 选择时间 , hour ${hour}, minute : ${minute}) showDialog false }, onDismiss { Log.d(AAA , 点击取消) showDialog false } ) } } ExperimentalMaterial3Api Composable fun DialWithDialogExample( onConfirm : (TimePickerState) - Unit, onDismiss : () - Unit ){ val currentTime Calendar.getInstance() val timePickerState rememberTimePickerState( initialHour currentTime.get(Calendar.HOUR_OF_DAY), initialMinute currentTime.get(Calendar.MINUTE), is24Hour true ) TimePickerDialog2( onDismiss { onDismiss() }, onConfirm { onConfirm(timePickerState) } ) { TimePicker( state timePickerState ) } } ExperimentalMaterial3Api Composable fun TimePickerDialog2( onDismiss: () - Unit, onConfirm: () - Unit, content : Composable () - Unit ){ AlertDialog( onDismissRequest onDismiss, dismissButton { TextButton( onClick { onDismiss() } ) { Text(取消) } }, confirmButton { TextButton(onClick { onConfirm() }) { Text(确定) } }, text { content() } ) } }
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/25 15:06:20

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/24 20:39:51

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/25 8:02:16

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/25 15:27:07

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/24 22:16:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/25 8:02:07

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询