一个原生Android的日期选择器,多种样式可供选择器
发布日期:2021-06-29 04:43:52
浏览次数:5
分类:技术文章
本文共 3102 字,大约阅读时间需要 10 分钟。
一个原生Android的日期选择器,多种样式可供选择
- 日期选择器
/** * 日期选择 * * @param activity * @param themeResId * @param tv * @param calendar */ public static void showDatePickerDialog(Activity activity, int themeResId, final Button tv, Calendar calendar) { // 直接创建一个DatePickerDialog对话框实例,并将它显示出来 DatePickerDialog dialog = new DatePickerDialog(activity, themeResId, new DatePickerDialog.OnDateSetListener() { // 绑定监听器(How the parent is notified that the date is set.) @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 此处得到选择的时间,可以进行你想要的操作 tv.setText("您选择了:" + year + "年" + (monthOfYear + 1) + "月" + dayOfMonth + "日"); } } // 设置初始日期 , calendar.get(Calendar.YEAR) , calendar.get(Calendar.MONTH) , calendar.get(Calendar.DAY_OF_MONTH)); dialog.show(); dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(activity.getResources().getColor(R.color.icu_blue)); dialog.getButton(AlertDialog.BUTTON_POSITIVE).setGravity(Gravity.RIGHT); }
2.时间选择器
/** * 时间选择 * * @param activity * @param themeResId * @param tv * @param calendar */ public static void showTimePickerDialog(Activity activity, int themeResId, final Button tv, Calendar calendar) { // Calendar c = Calendar.getInstance(); // 创建一个TimePickerDialog实例,并把它显示出来 // 解释一哈,Activity是context的子类 new TimePickerDialog(activity, themeResId, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { tv.setText("您选择了:" + hourOfDay + "时" + minute + "分"); } } // 设置初始时间 , calendar.get(Calendar.HOUR_OF_DAY) , calendar.get(Calendar.MINUTE) // true表示采用24小时制 , true) .show(); }
最后我们来看最后的使用方法
public class MainActivity extends AppCompatActivity { private Button button1, button2, button3; DateFormat format = DateFormat.getDateTimeInstance(); Calendar calendar = Calendar.getInstance(Locale.CHINA); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1 = findViewById(R.id.button1); button2 = findViewById(R.id.button2); button3 = findViewById(R.id.button3); button1.setOnClickListener(view -> { Intent intent = new Intent(this, TestActivity.class); startActivity(intent); }); button2.setOnClickListener(v -> { //showDatePickerDialog(this, R.style.dialog_date, button2, calendar); showDatePickerDialog(this, 6, button2, calendar); }); button3.setOnClickListener(v -> { showTimePickerDialog(this, 5, button3, calendar); }); }
补充一下
themeResId参数可供选择的样式很多中,0到6,填入会有不同的显示效果,也可以自定义显示效果转载地址:https://blog.csdn.net/zhanghuaiwang/article/details/109352572 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月07日 00时08分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
以太坊智能合约如何运作?
2019-04-29
赛迪全球公链指数第5期名单:EOS、ETH排名不变 比特股首进前3
2019-04-29
能依靠0.21个比特币生存21天吗
2019-04-29
比特币核心发现网络漏洞CVE-2018-17144 社区敦促所有节点尽快升级补丁
2019-04-29
泰达币对比特币价格的影响不具有统计意义
2019-04-29
Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp 1 1.2. NLP.js一个nodejs/javascri
2019-04-29
Atitit nlp用到的技术与功能自然语言处理 v3 t99.docx Atitit nlp用到的技术与常见类库 目录 1. 常用的技术 1 1.1. 语言处理基础技术 分词 相似度等 1 1.2
2019-04-29
Atitit 2000drmmr v2 t05.docx Atitit 2000drmmr v1 t99 2000.1.26 hs,yweywe jla n dashw ner kl .na ni
2019-04-29
常见方案 目录 1. 发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP, 1 2. 实现直播的方法有很多,但是常用的,就这几个。 3个直播协议:rtmp、rtsp、hls。 和三个端:
2019-04-29
Atitit 直播问题总结ffmpeg 目录 1.1. 屏幕太大,可以使用-s调整分辨率 1 1.2. Full size 1 1.3. 流畅度调整 1 2. 1 2.1. 没有录音 1 2.2.
2019-04-29
paip.索引优化---sql distict—order by 法
2019-04-29
paip.输入法编程---带ord gudin去重复-
2019-04-29
paip.输入法编程---增加码表类型
2019-04-29
paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
2019-04-29
paip.输入法编程---智能动态上屏码儿长调整--.txt
2019-04-29
Atitit sumdoc t0 final index D:\BaiduNetdiskDownload\sumdoc t0 final\sumdoc t0 wps cld bek D:\Baid
2019-04-29
Atitit sumdoc t0 final index D:\BaiduNetdiskDownload\sumdoc t0 final\sumdoc t0 wps cld bek D:\Baid
2019-04-29
Atitit sumdoc t0 final index
2019-04-29