Xamarin.Android DatePickerFragment 日期控件

2023-11-12

MainActivity 代码:

public class MainActivity : Activity
{
    TextView _dateDisplay;
    Button _dateSelectButton;

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);

        _dateDisplay = FindViewById<TextView>(Resource.Id.date_display);
        _dateSelectButton = FindViewById<Button>(Resource.Id.date_select_button);
        _dateSelectButton.Click += DateSelect_OnClick;
    }

    void DateSelect_OnClick(object sender, EventArgs eventArgs)
    {
        DatePickerFragment frag = DatePickerFragment.NewInstance(delegate (DateTime time)
        {
            _dateDisplay.Text = time.ToLongDateString();
        });
        frag.Show(FragmentManager, DatePickerFragment.TAG);
    }
}

DatePickerFragment.cs 代码:

public class DatePickerFragment : DialogFragment, DatePickerDialog.IOnDateSetListener
{
    // TAG can be any string of your choice.
    public static readonly string TAG = "X:" + typeof(DatePickerFragment).Name.ToUpper();

    // Initialize this value to prevent NullReferenceExceptions.
    Action<DateTime> _dateSelectedHandler = delegate { };

    public static DatePickerFragment NewInstance(Action<DateTime> onDateSelected)
    {
        DatePickerFragment frag = new DatePickerFragment();
        frag._dateSelectedHandler = onDateSelected;
        return frag;
    }

    public override Dialog OnCreateDialog(Bundle savedInstanceState)
    {
        DateTime currently = DateTime.Now;
        DatePickerDialog dialog = new DatePickerDialog(Activity,
                                                       this,
                                                       currently.Year,
                                                       currently.Month - 1,
                                                       currently.Day);
        return dialog;
    }

    public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
    {
        // Note: monthOfYear is a value between 0 and 11, not 1 and 12!
        DateTime selectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth);
        Log.Debug(TAG, selectedDate.ToLongDateString());
        _dateSelectedHandler(selectedDate);
    }
}

Main.axml 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/top_padding">
    <TextView
        android:id="@+id/date_display"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:paddingTop="@dimen/top_padding"
        android:text="@string/selected_date_text"
        style="@android:style/TextAppearance.Large" />
    <Button
        android:id="@+id/date_select_button"
        android:paddingLeft="@dimen/left_padding"
        android:paddingRight="@dimen/right_padding"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/pick_date_text"
        android:layout_below="@id/date_display" />
</RelativeLayout>

实现结果:

 

 参考文献:

  https://docs.microsoft.com/zh-cn/xamarin/android/user-interface/controls/pickers/date-picker

转载于:https://www.cnblogs.com/swjian/p/11555629.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xamarin.Android DatePickerFragment 日期控件 的相关文章

  • 【小程序】解析小程序原理

    本文首发自 前端修罗场 一个专注 Web 技术 答疑解惑 面试辅导 职业发展的社区 实际学习过程中 有些同学常常会对小程序和 Web 应用之间的差别产生疑惑 它们之间到底有什么不同 Web 应用不能作为小程序吗 本期文章将会带你比较小程序和
  • iOS Push详述,了解一下?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由WeTest质量开放平台团队发表于云 社区专栏 作者 陈裕发 腾讯系统测试工程师 商业转载请联系腾讯WeTest获得授权 非商业转载请注明出处 原文链接 http wetest
  • 防止运营商劫持apk

    title 防止运营商劫持apk tags https upyun apk 运营商 劫持 categories 工作日志 date 2017 05 25 18 18 56 目前f6部分系统使用了upyun的服务 包含apk的下载和静态资源等
  • android Stopwatch实例

    Stopwatch 实例 package net baisoft stopwatch import java util ArrayList import java util Date import java util HashMap imp
  • 在子类的override方法中调用父类的父类的未被重写的方法

    今天做一个自定义控件 扩展TableLayoutPanel这个控件加一些自己的属性 重写OnPaintBackground这个虚方法 控件的继承关系是这样的 Control ScrollableControl Panel TableLayo
  • Flutter实现app自动升级

    话不多说 有过开发过移动应用的人都应该自动升级流程 首先获取本地应用版本 然后从服务器获取线上移动应用版本号作比较是否升级 第一步获取版本信息 API https pub dev packages package info 获取应用版本号
  • 买《Kotlin从小白到大牛》专题视频课程,送配套纸质图书

    经过一年多时间的呕心沥血 Kotlin立体化图书 Kotlin从小白到大牛 即将与大家见面了 所谓立体化图书包括 电子图书 视频 课件和服务等内容 Kotlin从小白到大牛 纸质图书已经上市 为了答谢广大学员对智捷课堂以及关老师的支持 现购
  • Android通用流行框架大全,零基础入门学习android

    Picasso transformations 一个为Picasso提供多种图片变换的库 Glide transformations 一个为Glide提供多种图片变换的库 Android gpuimage 基于OpenGL的Android过
  • Java JWT: JSON Web Token

    Java JWT JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand library for creating and
  • 深入理解 Flutter 图片加载原理

    前言 随着Flutter稳定版本逐步迭代更新 京东APP内部的Flutter业务也日益增多 Flutter开发为我们提供了高效的开发环境 优秀的跨平台适配 丰富的功能组件及动画 接近原生的交互体验 但随之也带来了一些OOM问题 通过线上监控
  • Android declare-styleable:自定义控件的属性(attr.xml,TypedArray)的使用

    android 自定义属性类型的使用 转自 http www cnblogs com ufocdy archive 2011 05 27 2060221 html 做Android布局是件很享受的事 这得益于他良好的xml方式 使用xml可
  • Flutter可滚动Widgets-ListView

    ListView 先看下如下截图 以上效果图的代码 是从 flutter官方demo flutter gallery内copy的部分代码 首先 首先定义一个列表 代码如下 List
  • Flutter websocket 实现消息推送

    没什么可说的 直接上代码吧 Flutter 中的消息管理工具 class MessageUtils static WebSocket webSocket static num id 0 static void connect Future
  • HarmonyOS-开发避坑指南——源码下载和编译,企业级项目实战讲解

    安装文件系统打包工具 运行 mkfs vfat 如果未找到该命令 需要安装 运行 mcopy 如果未找到该命令 需要安装 sudo apt get install dosfstools mtools 官方文档说明的两个文件系统打包工具sud
  • IOS 访问系统粘贴板

    粘贴板提供了一种核心OS特性 用于跨应用程序共享数据 用户可以跨应用来复制粘贴 也可以设置只在本应用中复制粘贴用来保护隐私 UIPasteboard类允许访问共享的设备粘贴板以及内容 下面代码返回一般的系统粘贴板 它适合大多数一般的复制粘贴
  • 零基础入门 HTML 的 8 分钟极简教程

    在今天 前端工程师已经成为研发体系中的重要岗位之一 可是与此相对的是 极少大学的计算机专业愿意开设前端课 大部分前端工程师的知识 也都是在实践和工作中不断学习的 最近收到很多同学的后台留言 说希望多推出一些前端方向的教程 今天我们就带来一个
  • Compile Options--编译选项

    目的 其主要作用是用于调试跟踪和测试 主要包含 MT TASK MT ZDO FUNC and other MT compile options LCD SUPPORTED LCD SUPPORTED DEBUG BLINK LEDS 且看
  • iOS 自定义弹出框

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在iOS中 系统再带的弹出窗体不好扩展 开发时候不如自定义一个弹出窗体 附加上显示和消失的动画 弹出窗体父类如下 具体效果直接往上面添加控件就行 ViewControlle
  • ios -Unity3D的EasyAR集成到已经有项目中。

    近期 在做AR这一块 用EasyAR集成到iOS端 由于现在到项目已经上线 下一版本要做一个AR功能 于是迫于需求需要 自己研究和翻阅读好多集成到资料 通过整理分出几个重要到模块 其中在这里指出Xcode9版本确实好坑 建议弃坑 该用稍微好
  • OpenHarmony沙箱文件

    一 前言 1 前景提要 DevEcoStudio版本 DevEco Studio 3 1 Release SDK版本 3 2 2 5 API版本 9 2 概念 在openharmony文件管理模块中 按文件所有者分类分为应用文件和用户文件和

随机推荐

  • Hadoop 2.x 生态系统及技术架构图

    一 负责收集数据的工具 Sqoop 关系型数据导入Hadoop Flume 日志数据导入Hadoop 支持数据源广泛 Kafka 支持数据源有限 但吞吐大 二 负责存储数据的工具 HBase MongoDB Cassandra Accumu
  • 最全的登录功能测试点

    1 基本功能测试点 输入正确的用户名和密码登录成功 输入错误的用户名密码登录失败 用户名正确 密码错误 是否提示输入密码错误 用户名错误 密码正常 是否提示输入用户名错误 用户名和密码都错误 是否有相应提示 用户名密码为空时 是否有相应提示
  • Hive元数据存储和表数据存储

    一 相关概念 1 元数据 metadata 元数据 Meta Date 主要记录数据仓库中模型的定义 各层级间的映射关系 监控数据仓库的数据状态及 ETL 的任务运行状态 一般会通过元数据资料库 Metadata Repository 来统
  • 调试SAR SENSOR的一些感悟

    手机工作时是有电磁辐射的https zhuanlan zhihu com p 353591714 那怎样能降低电磁辐射对人体的伤害呢 sar sensor能感应到有人在使用手机 从而发消息让modem降低发射功率 从而达到标准 如果没人在使
  • Ubuntu 18 安装 cmake

    1 官网下载合适的版本 https cmake org download or cmake 3 19 4 tar gz https download csdn net download liyunlong19870123 15009838
  • 【转】转换思维,寻找创新点

    一种重要的科研思维 它就是发散思维 在科研的过程中 会用发散思维是特别特别重要的 很多时候在找课题的创新点 或者打算写小论文时 都需要好的想法来支撑 这就非常需要用发散思维去找好的想法和创新点啦 同样一件事情 同样一个问题 为什么他的角度这
  • K8S Pod配置详解(spec)

    Pod 是 Kubernetes 中最基本的资源对象之一 代表一组容器的单位 以下是几个重要的 Pod 字段的含义和用法 metadata 包含了 Pod 的元数据 例如名称 标签 命名空间等 spec 定义了 Pod 的行为和构建 例如容
  • Redis实现简单文章投票

    鉴于Redis被鹅厂一面二面问过的原因 还是要好好学习一下 Redis实战 第一章的例子 实现的功能 1 给文章投票 def article vote conn user article cutoff time time ONE WEEK
  • 10个自动化测试框架,测试工程师用起来

    什么是自动化测试框架 自动化测试框架是为自动化测试脚本提供执行环境的脚手架 框架为用户提供了各种优势 帮助他们有效地开发 执行和报告自动化测试脚本 它更像是一个专门为自动化组织的测试而创建的系统 简而言之 我们可以说框架是各种指导方针 编码
  • 数组名和指针变量的区别

    数组名和指针变量的区别 今天讲一下数组名和指针变量的区别 只说结果 不过分析 刚刚看到C语言中 有一个sizeof 数组名 和sizeof 指针变量 平时没有注意这两者的区别 在这里记下笔记 不喜勿喷 sizeof 数组名 是计算该数组所占
  • 南方日报:前有杜比,后有DTS,DVD专利费纷争何时休?

    那些所谓 收费太贵 只是一小部分厂商的借口 事实上使用我们产品的客户很多 但大多数没有合理付费 迪提斯 公司全球总裁兼首席执行官 庄柯奇 如是回答本报记者的发问 作为拥有全球最著名数码音频技术之一 几乎与杜比齐名的数码技术公司的掌门人 庄柯
  • python 十进制转十六进制 蓝桥

    试题 基础练习 十进制转十六进制 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式 它有0 1 2 3 4 5 6 7 8 9 A B C D E F共16个符号 分别表示十进制数的0至15 十六进制的计数方法是满16进1
  • JDBC连接MySQL数据库步骤

    JDBC全称 Java DataBase Connectivity 是Java数据库连接 是一种用于执行SQL语句的Java API 可以为多种关系数据库提供统一访问 例如 MySQL Oracle SQLServer等数据库 它由一组用J
  • Shell命令行选项与参数用法详解

    在bash中 可以用以下三种方式来处理命令行参数 直接处理 使用 1 2 n进行解析 适合小脚本 getopts 单个字符选项的情况 如 n 10 f file txt等选项 能处理绝大多数的情况 getopt 可以处理单个字符选项 也可以
  • mysql系列之一_MySQL学习系列之一---MySQL简介

    大家好 我是小詹小詹 是一名IT工程师 工作内容主要是ERP软件的二次开发和实施 以及数据库的运维 在这里可以分享一些数据库的基础操作以及工作过程中碰到实际问题的解决方案 整个系列会按照数据库内容分为三大块 分别是MySQL SQL ser
  • 电子学会 全国青少年软件编程等级考试标准 十级标准及相关资料

    本级会涉及但不限于随机算法 近似算法 神经网络算法 深度学习算法 强化学习算法 以及算法复杂性分析等更高级或新兴的算法设计及分析方法 随机算法 路径规划算法C 实现 二 A 路径规划算法C 实现 二 A weixin 44504228的博客
  • java sshd实现连接ssh操作

    文章目录 说明 分享 记录 导包 代码 总结 说明 本博客每周五更新一次 日常使用ssh连接工具是jsch实现 但该库从2018年开始停止更新 项目开发中使用免密登录功能时 因为ssh加密算法版本过低失败 最后不得不使用账号密码连接 那次后
  • 面试官问我MySQL索引失效怎么排查?懵逼了。。。

    前 言 上一期 我们讲解了sql优化的一般流程 不管是优化join语句 where语句 聚合函数还是排序操作 核心在于利用索引来优化sql语句 但是 大家以为我们为字段创建了索引之后 索引就一定会生效吗 当然不是的 因为索引可能会失效 那索
  • TensorFlow框架做深度学习之命令行参数操作

    想必在linux系统上做开发的小伙伴们对命令行这种东西是熟悉的不能再熟悉了 linux系统时时刻刻都要通过命令行实现各种操作 但是作为资深的windows用户 我是不太习惯用cmd命令控制台去操作应用的 回到今天的主题 为了使我们用Tens
  • Xamarin.Android DatePickerFragment 日期控件

    MainActivity 代码 public class MainActivity Activity TextView dateDisplay Button dateSelectButton protected override void