首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

日期选择器DatePicker和时间选择器TimePicker

实际开发中,经常会遇见一些时间选择器、日期选择器、数字选择器等需求,那么从本期开始来学习Android中常用选择器,今天学习的是DatePicker和TimePicker。...android:minDate:设置该日期选择器的最小日期。以mm/dd/yyyy格式指定最小日期。 android:spinnersShown:设置该日期选择器是否显示Spinner日期选择组件。...继续使用WidgetSample工程的advancedviewsample模块,app/main/res/layout/目录下创建datepicker_layout.xml文件,在其中填充如下代码片段...继续使用WidgetSample工程的advancedviewsample模块,app/main/res/layout/目录下创建timepicker_layout.xml文件,在其中填充如下代码片段...文件,加载上面新建的布局文件,初始化TimePicker获取用户的选择,具体代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample;

4.7K50

私人订制Android本地图片选择器

效果图 需求分析 网格布局显示本地图片 支持图片多选 支持选中的图片预览 未选择图片时不可预览 由已选多图变为无图时可退出图片选择页面 图片已选达到上限后依然可以跳转图片选择页面 第三方框架使用 史上最强的安卓图片选择器...,选择图片的Activity是GalleryFinal自带的,所以我们这里要写的GridView是用来显示选中返回的图片,这里的代码就不放出来了,效果图如下: ?...选择图片时 本人实现的可支持最大图片数量是5,图片选满的时候依然显示“+”,用以跳转图片选择页面选择其他图片。...初步效果图 修改源码 通过运行调试,发现框架中有些功能与需求不一致,因此产生了修改源码的想法,总结需要更改的原功能点如下: 选择完达到上限数量的图片后,无法重新回到图片选择页面 ?...未选择图片时不显示预览按钮 通过布局的id——iv_previewPhotoSelectActivity中查找,refreshSelectCount方法里找到了对预览按钮可见性的设置:

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

玩转手机自动化测试

大家好,是皮皮。.../file/7715018-454641893 然后我们开启无障碍服务,即可打开Autojs正常运行,如图: 二、基本使用大全 要想进行脚本的编写,我们需要点击蓝色圆圈里的加号创建一个脚本文件,...下面我们来创建一个简单的脚本,如下: 1.选择器 因为AutoJs有着JavaScript的部分特性,因此他也有选择器可供我们选择元素,总共有四种,如下: ID 选择器 Text 选择器 ClassName...选择器 Desc 选择器 2.打开应用 在打开之前我们需要对Autojs进行授权,很简单,如下: auto();//授权auto.js 然后我们就可以打开对应应用,比如我想打开浏览器,如下: launchApp...,显示我们操作的进度,如下: auto(); console.show() //显示控制台 log('hello') //控制台输出 console.log('开启浏览器') //控制台输出 sleep

1.2K40

玩转手机自动化测试

大家好,是皮皮。...,而是Android平台上的JavaScript IDE,更重要的一点就是这个工具是国人开发的,必须支持一个不是。.../file/7715018-454641893 然后我们开启无障碍服务,即可打开Autojs正常运行,如图: 二、基本使用大全 要想进行脚本的编写,我们需要点击蓝色圆圈里的加号创建一个脚本文件,下面我们来创建一个简单的脚本...,如下: 1.选择器 因为AutoJs有着JavaScript的部分特性,因此他也有选择器可供我们选择元素,总共有四种,如下: ID 选择器Text 选择器ClassName 选择器Desc 选择器 2...打开浏览器 如果我们想自定义打开的应用了,通过输入的方法,增加一个交互,可以这样做,如下: var app=rawInput("","");launchApp(app); 我们还可以添加一个控制台,显示我们操作的进度

68900

两分钟掌握数值选择器NumberPicker

getValue():获得当前组件显示的值。 setValue(int value):设置当前组件显示的值。...继续使用WidgetSample工程的advancedviewsample模块,app/main/res/layout/目录下创建numberpicker_layout.xml文件,在其中填充如下代码片段...文件,加载上面新建的布局文件,初始化NumberPicker获取用户的选择,具体代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample...; import android.widget.Toast; /** * @创建者 鑫鱻 * @描述 Android零基础入门到精通系列教程,欢迎关注微信公众号ShareExpert */ public...除了Android系统定义的DatePicker、TimePicker和NumberPicker,实际开发中往往不能满足,会经常自定义一些Picker组件,比如城市选择器、性别选择器、图片选择器、颜色选择器

1.7K60

Android》Lesson04-Menu

;return false:创建的菜单无法显示 } 参考链接:android中menu.add()的使用说明_Jason_新浪博客 扩展-带子菜单项:Android menu add中的4个参数说明 -...- 博客频道 - CSDN.NET 方法: 1、创建菜单xml (1)res目录下新建menu文件夹:app-->src->main-->res上右键new---Android resource...//inflate(R.menu.menu_main,menu)给当前Activity创建菜单,参数1:通过哪个资源文件创建菜单;参数2:菜单项将添加到哪一个Menu对象中 getMenuInflater...false:创建的菜单无法显示 3、定义菜单响应事件:ctrl+o重写父类方法 public boolean onOptionsItemSelected(MenuItem item) { switch...与Menu - 1 - api demos 学习 - - ITeye技术网站 解决icon无法显示android菜单创建的两种方式和菜单项添加图标 - 初学者 - 51CTO技术博客 五、销毁活动

78170

Android 无需权限显示悬浮窗, 兼谈逆向分析 App

如果这个权限被禁用, 那么结果就是悬浮窗无法展示, 比如有道词典的复制查词功能, 小米手机上经常没用, 其实是用户没有授权, 而且应用也没有引导用户给它打开授权....看到这里, 也觉得很奇怪, 悬浮窗原理中写的是知道的实现悬浮窗的方法, UC 的实现好像跟我调用的是相同的 API, 也没看到反射之类可能展示奇技淫巧的代码, 为什么 UC 就可以不需要权限直接显示悬浮窗呢...这段代码首先是创建了com/uc/browser/b/a的实例, 存储 v3 中, 从另一处拿到了一个Context存储 v4 中, 然后拿到了当前系统的android.os.Build.VERSION.SDK_INT...廖祜秋大神的 demo 关于这个, 他也写了一篇 Android 悬浮窗的小结 其他补充 评论区的浮海大虾同学有更多补充如下: TYPE_TOAST 一直都可以显示, 但是用 TYPE_TOAST 显示出来的...: 不属于悬浮窗, 但有悬浮窗的功能, 缺点是 Android2.3 上无法接收点击事件TYPE_SYSTEM_ALERT: 属于悬浮窗, 但是会被禁止 尾声 现在我们都知道了如何在不申请权限的情况下显示悬浮窗

3K101

Android 源码分析 —— 从 Toast 出发

; 可以自定义显示屏幕上的位置(默认左右居中显示靠近屏幕底部的位置); 可以使用自定义布局,也只有自定义布局的时候才需要直接调用 Toast 的构造方法,其它时候都是使用 makeText 方法来创建...我们 Toast 类的源码里看一下跟设置时长相关的代码: 文件 platform_frameworks_base/core/java/android/widget/Toast.java ......这次不崩溃了,但依然不弹出 Toast,毕竟,这个线程调用完 show() 方法后就直接结束了,没有调用 Looper.loop(),至于为什么调用 Toast 的线程结束与否会对 Toast显示隐藏等起影响...这里插播一条结论,就是前文留下的为什么调用 Toast 的线程线束之后没弹出的 Toast无法弹出了的问题,因为 Notification Service 通知应用进程显示或隐藏 Toast 时,使用的是...总结 补充后的 Toast 知识点列表 Toast 不是 View,它用于帮助创建展示包含一条小消息的 View; 它的设计理念是尽量不惹眼,但又能展示想让用户看到的信息; 被展示时,浮在应用界面之上

75110

Android 源码分析 —— 从 Toast 出发

类的 官方文档 和 API 指南 中可以得出它具备如下特性: Toast 不是 View,它用于帮助创建展示包含一条小消息的 View; 它的设计理念是尽量不惹眼,但又能展示想让用户看到的信息...我们 Toast 类的源码里看一下跟设置时长相关的代码: 文件 platform_frameworks_base/core/java/android/widget/Toast.java ......这次不崩溃了,但依然不弹出 Toast,毕竟,这个线程调用完 show() 方法后就直接结束了,没有调用 Looper.loop(),至于为什么调用 Toast 的线程结束与否会对 Toast显示隐藏等起影响...这里插播一条结论,就是前文留下的为什么调用 Toast 的线程线束之后没弹出的 Toast无法弹出了的问题,因为 Notification Service 通知应用进程显示或隐藏 Toast 时,使用的是...总结 补充后的 Toast 知识点列表 Toast 不是 View,它用于帮助创建展示包含一条小消息的 View; 它的设计理念是尽量不惹眼,但又能展示想让用户看到的信息; 被展示时,浮在应用界面之上

1.5K40

Android 高级自定义Toast及源码解析

Toast#makeText()中第一行就获取了一个Toast对象 ? 源码位置:frameworks/base/core/java/android/widght/Toast$TN.java ?...源码中的进程间通信实在太多了,不想说这方面的内容啊啊啊~。有时间专门再写一片博客。这里提前剧透下TN类除了设置参数的作用之外,更大的作用是Toast显示与隐藏的回调。TN类在这里作为Server端。...那么同一个应用程序瞬时mToastQueue中存在的消息不能超过50条(Toast对象不能超过50个)。否则直接return。这也是上文中为什么快速点击50次之后无法继续显示的原因。...接下来创建了一个ToastRecord对象添加进mToastQueue。接下来调用showNextToastLocked()方法显示一个Toast。...注意下这里直接使用new Handler获取Handler对象,这也是为什么子线程中不用Looper弹出Toast会出错的原因。跟进handleShow()。 ?

2.1K70

微信小程序接口全解析!从官方 Demo 了解小程序的能力

); label; picker(类似 Android 的 WheelView,默认有普通、时间、日期三种选择器,可以利用它轻松制作一个地区联动选择器); radio(就是 Android 里的 RadioButton...地图 使用 map 组件,可以小程序中打开一个地图。这个没什么说的,因为官方 Demo 就是显示一个地图,并且放置了一个定位图标。 画布 你可以使用 canvas 组件,小程序中描绘图形。...界面 设置界面标题; 标题栏加载动画; 页面跳转; 下拉刷新; 创建动画(常见的补间动画都有); 创建画布; 显示操作菜单 (弹出一个列表弹窗); 显示弹窗 (类似 Android 的 AlertDialog...); 显示 Toast 消息提示框 (类似 AndroidToast)。...不过遗憾的是,小程序放入后台运行后,Android 的通知中没有音乐快捷操作。 文件接口中,Demo 只是展示了图片的选取保存,不知道是否支持其他文件格式。

1.8K30

浅谈Android应用内悬浮控件实践方案总结

首先想到的是申请悬浮窗权限,OK~ 打开搜索引擎,映入眼帘的并不是如何申请,而是“Android 悬浮窗权限各机型各系统适配大全、Android 绕过权限显示悬浮窗…”,为什么悬浮窗权限会有这么多坑呢?...再考虑一下 TYPE_TOAST 方案, 为什么它失效了呢?..., 理论上可以兼容任意版本,任意机型, 因为这只是一个普通的 toast , 系统没理由不允许一个 toast 显示的~ 然而… 亲测 Nexus7.1.1 及以上不显示 , Android 4.4...以下无法接受触摸事件, 小米部分机型上无法改变位置....方案4:自定义 toast 优点:大部分机型不需权限,实现简单 缺点:Nexus7.1.1及以上不显示,4.4以下无法接受点击事件,小米(MIUI8)及部分机型不可改变位置 结合的需求, 的悬浮控件并不需要改变位置

2.9K21

AutoJs6 – v6.2.0 – 安卓 JavaScript 自动化工具 (Auto.js 二次开发)

及以上系统无法正常运行有关设置画笔颜色的示例代码的问题 修复 示例代码 “ 音乐管理器 ” 更正文件名为 “ 文件管理器 ” 恢复正常功能 修复 文件管理器下拉刷新时可能出现定位漂移的问题 修复...修复 夜间模式开启后已设置的主题色可能无法生效的问题 修复 夜间模式下部分设置选项文字与背景色相同而无法辨识的问题 修复 关于页面功能按钮文本长度过大导致文本显示不完全的问题 修复 主页抽屉设置项标题长度过大导致文本与按钮重叠的问题...修复 主页抽屉权限开关在提示消息对话框消失后可能出现状态未同步的问题 修复 Root 权限修改主页抽屉权限开关失败时未继续弹出 ADB 工具对话框的问题 修复 Root 权限显示指针位置初次使用时提示无权限的问题...优化 使用悬浮窗选择文件时按返回键可返回至上级目录而非直接关闭悬浮窗 优化 客户端模式连接计算机输入地址时支持数字有效性检测及点分符号自动转换 优化 客户端及服务端建立连接后主页抽屉显示对应设备的...优化 ImageWrapper#saveTo 支持相对路径保存图像文件 优化 重新设计 colors 全局对象增加 HSV / HSL 等色彩模式支持 (参阅 项目文档 > 颜色) 优化 部分依赖或本地库版本调整

4.2K20

垃圾回收及内存调试工具的介绍Android应用性能优化

为什么感受到了UI卡顿 来来来,动画专业的给你们介绍下不同帧率对视觉的直观感受 ?   ...这段小动画里包含了动画原理中的“慢入“和”慢出”,按照12FPS的帧率将1-9这几个画面依次显示循环往复播放,即会出现一个可爱的钟摆动画,如果我们每两张的中间插入一张“中间张”,并且以24FPS播放...2.Allocation Tracker 点击Start Allocation Tracking按钮后,经过一段想要记录的时间后,再次点击,即可生成一份alloc结尾的文件,此处查看了自己的应用这个时间段产生的各种类的实例...开始分析: 1.首先打开AndroidManifest.xml文件,如图: ?...循环中一直创建对象及字符串的拼接,改进方案是把Rect对象的创建放到成员变量中onCreate中进行初始化,为了避免logcat输出时产生大量的String对象,改进方案是onCreate中把String

1.1K10

Android编程之菜单Menu的创建方法示例

本文实例讲述了Android编程之菜单Menu的创建方法。分享给大家供大家参考,具体如下: res目录下的menu文件夹下创建一个main.xml文件,内容如下: <?...</menu 注释:这里创建了两个菜单项,其中<item 标签就是用来创建具体的一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title给这菜单指定一个名称...然后打开Activity,重写onCreateOptionsMenu()方法,内容如下: //通过getMenuInflater()方法得到MenuInflater对象 public boolean onCreateOptionsMenu...,创建的菜单无法显示 return true; } 当然,仅仅让菜单显示出来是不够的,菜单不是用来看的,关键是要菜单真正可用才行,因此还要再定义菜单响应事件。...菜单默认是不会显示出来的,只有按下Menu键,菜单才会在底部显示出来。

89041

Toast与Snackbar的那点事

具体原因是用户设置里关闭了美团App的【显示通知】开关,导致通知权限无法获取,这极大的影响了用户体验。...然而,Android 4.4(API19)以下系统中,这个开关的打开状态,也就是通知权限是否开启的状态我们是无法判断的,因此我们也无法感知Toast弹出与否,为了解决这个问题,需要从Toast的源码入手...调用service.enqueueToast(pkg, tn, mDuration)将当前Toast显示加入到通知队列,传递了一个tn对象,这个对象就是NMS用作回传Toast显示状态。...> Toast不弹出原因分析 那么为什么禁掉通知权限会导致Toast不再弹出呢?...Activity,没有Activity作为上下文时,它们是无法创建显示的,并且简单的通知使用这种控件过重。

2.3K60

“吐司”测试二三事

主要问题 : Toast作为Android轻量级反馈信息提示的系统控件,目前项目中大量使用,但是由于Toast是系统层面提供的,不依赖于前台页面,存在滥用的风险。...; 3、关闭通知权限后,无法正常的反馈给用户提示信息,造成不太友好的体验; 4、部分机型上,单独的输入法键盘无法弹出Toast,需要悬浮窗权限,但在打开输入法App后,就可以正常弹出了...; 解决方案: 问题1: Toast对象show时,系统将该对象放入队列中,只有当前没有要显示toast时才执行本次show请求,否则需要显示完一个Toast之后再去显示下一个...Toast,如果用户无意间多次触发了这个Toast,很可能导致这个Toast较长的一段时间内无法消失,不停的出现,影响用户视觉体验。...解决: 可以Toast触发的时候增加当前是否存在Toast的判断,如果当前没有显示Toast,则创建Toast展示,如果当前已经存在一个Toast,则只替换当前的文案显示

84020
领券