【Android学习】日期和时间选择对话框
实现功能
实现日期和时间选择的对话框,具体效果可看下图(以日期为例)

具体代码
1 日期对话框
1.1 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:gravity="center"><DatePickerandroid:id="@+id/datePicker"android:layout_width="match_parent"android:layout_height="wrap_content"android:calendarViewShown="false"android:datePickerMode="spinner"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"android:padding="10dp"><Buttonandroid:id="@+id/btn_date"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="选择日期"/><Buttonandroid:id="@+id/btn_ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定"/></LinearLayout><TextViewandroid:id="@+id/tv_date"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="尚未选择"android:textSize="20sp"/>
</LinearLayout>
1.2 Java
package com.example.learn;import androidx.appcompat.app.AppCompatActivity;import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;import java.util.Calendar;public class DatePickerActivity extends AppCompatActivity implements View.OnClickListener, DatePickerDialog.OnDateSetListener {private TextView tv;private DatePicker dp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_date_picker);findViewById(R.id.btn_ok).setOnClickListener(this);findViewById(R.id.btn_date).setOnClickListener(this);tv=findViewById(R.id.tv_date);dp = findViewById(R.id.datePicker);}@Overridepublic void onClick(View view) {switch(view.getId()){case R.id.btn_ok:String desc=String.format("%d年%d月%d日",dp.getYear(),dp.getMonth()+1,dp.getDayOfMonth());tv.setText(desc);break;case R.id.btn_date://获取当前时间Calendar now = Calendar.getInstance();DatePickerDialog dpd = new DatePickerDialog(this,this,now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH));//显示dpd.show();break;}}@Overridepublic void onDateSet(DatePicker datePicker, int i, int i1, int i2) {String desc=String.format("%d年%d月%d日",i,i1+1,i2);tv.setText(desc);}
}
2 时间选择对话框
2.1 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:gravity="center"><TimePickerandroid:id="@+id/timePicker"android:layout_width="match_parent"android:layout_height="wrap_content"android:timePickerMode="spinner"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"android:padding="10dp"><Buttonandroid:id="@+id/btn_time"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="选择时间"/><Buttonandroid:id="@+id/btn_ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定"/></LinearLayout><TextViewandroid:id="@+id/tv_date"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="尚未选择"android:textSize="20sp"/>
</LinearLayout>
2.2 java
package com.example.learn;import androidx.appcompat.app.AppCompatActivity;import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;import java.util.Calendar;public class TimePickerActivity extends AppCompatActivity implements View.OnClickListener, TimePickerDialog.OnTimeSetListener {private TextView tv;private TimePicker tp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_time_picker);findViewById(R.id.btn_ok).setOnClickListener(this);findViewById(R.id.btn_time).setOnClickListener(this);tv=findViewById(R.id.tv_date);tp = findViewById(R.id.timePicker);}@Overridepublic void onClick(View view) {switch(view.getId()){case R.id.btn_ok:String desc=String.format("%d时%d分",tp.getCurrentHour(),tp.getCurrentMinute());tv.setText(desc);break;case R.id.btn_time://获取日历实例,包含日期和时分Calendar instance = Calendar.getInstance();//构建时间对话框
// TimePickerDialog tpd = new TimePickerDialog(this,this,
// instance.get(Calendar.HOUR_OF_DAY),
// instance.get(Calendar.MINUTE),
// true);//添加样式TimePickerDialog tpd = new TimePickerDialog(this, android.R.style.Theme_Holo_Dialog,this,instance.get(Calendar.HOUR_OF_DAY),instance.get(Calendar.MINUTE),true);tpd.show();break;}}@Overridepublic void onTimeSet(TimePicker timePicker, int i, int i1) {String desc=String.format("%d时%d分",i,i1);tv.setText(desc);}
}
相关文章:
【Android学习】日期和时间选择对话框
实现功能 实现日期和时间选择的对话框,具体效果可看下图(以日期为例) 具体代码 1 日期对话框 1.1 xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android&quo…...
在Linux上使用Selenium驱动Chrome浏览器无头模式
大家好,我们平时在做UI自动化测试的时候,经常会用到Chrome浏览器的无头模式(无界面模式),并且将测试代码部署到Linux系统中执行,或者平时我们写个爬虫爬取网站的数据也会使用到,接下来和大家分享…...
Feign 第一次调用为什么会很慢?
feign调用的大致过程? Feign进行远程调用的,这里面包括,注册中心、负载均衡、FeignClient之间的关系,微服务通过不论是eureka、nacos也好注册到服务端,Feign是靠Ribbon做负载的,而Ribbon需要拿到注册中心的…...
Spring Framework-简介
Spring Framework Java Spring是一个开源的Java应用框架,它的主要目的是简化企业级应用开发的复杂性。Spring框架为开发者提供了许多基础功能,使得开发者能够更专注于业务逻辑的实现,而不是底层的细节。 主要特点和功能: 控制反…...
Linux——PHP8.0编译安装和yum安装
文章目录 Linux——PHP8.0编译安装和yum安装PHP8.0编译安装PHP8.0yum安装 Linux——PHP8.0编译安装和yum安装 PHP8.0编译安装 此内容参考于:https://www.cnblogs.com/jhno1/p/14237034.html 安装依赖 # 安装编译依赖 [rootcsq ~]# yum -y install ncurses ncurses…...
【通义千问系列】Qwen-Agent 从入门到精通【持续更新中……】
目录 前言一、快速开始1-1、介绍1-2、安装1-3、开发你自己的Agent 二、Qwen-Agent的使用和开发过程2-1、Agent2-1-1、Agent使用2-1-2、Agent开发 2-2、Tool2-2-1、工具使用2-2-2、工具开发 2-3、LLM2-3-1、LLM使用2-3-2、LLM开发 三、基于Qwen-Agent的案例分析3-1、3-2、 总结 …...
1081:分苹果
1081:分苹果 时间限制: 1000 ms 内存限制: 65536 KB 提交数:65448 通过数: 54401 【题目描述】 把一堆苹果分给n个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个&#x…...
Linux—-vim基础使用
1、基本概念 Vim的工作模式有四种,普通模式,输入模式,命令模式,可视模式。 在终端中打开vim,只需要输入vim 文件,在普通模式下按i就会进入到输入模式,按下:进入命令模式,输入:q就可…...
《ESP8266通信指南》12-Lua 固件烧录
往期 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP8266通信指南》10-MQTT通信(Arduino开发)-CSDN博客 《ESP8266通信指南》9-TCP通信(Arudino开发)-CSDN博客 《ESP8266通信指南》8-连接WIFI(Arduino开发…...
Covalent Network(CQT)通过 “新曙光” 计划实现重要里程碑,增强以太坊时光机,提供 30% 的年化质押收益率
Covalent Network(CQT)作为集成超过 280 条区块链,并服务于超过 2.8 亿个钱包的领先结构化数据基础设施层,宣布了其战略计划 “新曙光” 中的一个重要进展。随着网络升级并完成了准备工作的 75%,这将为即将部署的以太坊…...
JVM8参数设置相关
1、堆内存设置 JVM堆内存的设置大小应根据应用程序的具体需求和系统环境来确定。以下是一些常见的考虑因素和建议: 应用程序需求:如果应用程序需要处理大量数据或运行多个线程,那么可能需要更大的堆内存。反之,如果应用程序的需…...
送别PI-DataLink,行列视(RCV)完美替代
行列视(RCV)和 OSI PI 实时数据库自带的 PI-DataLink 报表工具,属于以实时数 据库为主要数据源的报表产品。 PI-DataLink 是专门针对 PI 实时数据库系统开发的一套 Excel 报表插件,功能强大,借助 Excel 自身的强大报表…...
【EasySpider】EasySpider+mysql执行配置异常
问题 使用易采集工具操作时候,遇到一个执行异常,后来发现没有选择数据类型 Loading stealth.min.js MySQL config file path: ./mysql_config.json 成功连接到数据库。 Successfully connected to the database. Traceback (most recent call last):…...
大数据Scala教程从入门到精通第一篇:Scala基本介绍
一:Scala基本介绍 1:Scala相当于Java的增强版和拓展 Scala 基于 JVM和 Java 完全兼容。同样具有跨平台、可移植性好、方便的垃圾回收等特性 Scala 比 Java 更加面向对象,可以说完全面对对象。 Scala 是一门函数式编程语言,Java就…...
2-手工sql注入(进阶篇) sqlilabs靶场5-10题
1. 阅读,学习本章前,可以先去看看基础篇:1-手工sql注入(基础篇)-CSDN博客 2. 本章通过对sqlilabs靶场的实战,关于sqlilabs靶场的搭建:Linux搭建靶场-CSDN博客 3. 本章会使用到sqlmap,关于sqlmap的命令&…...
C++并发:线程函数传参(二)
正文 传参中的陷阱 1. 向std::thread 构造函数传参:所有参数(含第1个参数可调用对象)均按值并以副本的形式保存在 std::thread 对象中的tuple里。这一点的实现类似于std::bind。如果要达到按引用传参的效果,可使用std::ref来传递…...
正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-12-蜂鸣器
前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...
H5 css动画效果
你可以使用 CSS 动画来实现这个效果。下面是一个简单的示例代码,展示了如何使用 CSS 中的关键帧动画来放大然后缩小一张图片,并使动画循环播放: html <!DOCTYPE html> <html lang"en"><head><meta charset&qu…...
创作纪念日(一周年)
机缘 我进入CSDN成为创作者是去年2023年的五月份,当时是在学校报名了蓝桥杯单片机组的比赛,觉得单片机方面有许多精妙之处,并且自学初学单片机实在有许多奇巧的设计点,有许多编程与硬件实际运行需要磨合的地方,这些惊…...
Oracle 数据库全面升级为 23ai
从 11g 到 12c 再到 19c,今天,我们迎来了 23ai ! “ Oracle AI Vector Search allows documents, images, and relational data that are stored in mission-critical databases to be easily searched based on their conceptual content Ge…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
