Android PickerView简单应用

这篇具有很好参考价值的文章主要介绍了Android PickerView简单应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Android-PickerView

Android-PickerView这是一款仿iOS的PickerView控件,有时间选择器和选项选择器。

添加依赖项

implementation 'com.contrarywind:Android-PickerView:4.1.9'

2. 时间选择器

Android-PickerView时间选择器使用Build模式来创建

var timePickerView = TimePickerBuilder(context) { date, v ->
        }.build()
timePickerView.show()

显示如下

android pickerview,Android 控件,android,PickerView

TimePickerBuilder主要方法

方法 说明
setType(boolean[] type) 分别控制“年”“月”“日”“时”“分”“秒”的显示或隐藏,type长度为6
setDate(Calendar date) 调用Calendar的set方法来设置时间
setRangDate(Calendar startDate, Calendar endDate) 设置起始时间
setCancelText(String textContentCancel) 设置取消按钮文字
setCancelColor(int textColorCancel) 设置取消文字颜色
setSubmitText(String textContentConfirm) 设置确认按钮文字
setSubmitColor(int textColorConfirm) 设置确认文字颜色
setSubCalSize(int textSizeSubmitCancel) 设置取消和确认按钮文字大小
setTitleText(String textContentTitle) 设置标题文字
setTitleColor(int textColorTitle) 设置标题文字颜色
setTitleSize(int textSizeTitle) 设置标题文字大小
setTitleBgColor(int bgColorTitle) 设置标题栏颜色
setBgColor(int bgColorWheel) 设置背景颜色
setOutSideColor(int outSideColor) 设置外部背景颜色,默认是灰色
setContentTextSize(int textSizeContent) 设置内容文字大小
setItemVisibleCount(int count) 设置可见数目,最好是奇数,默认是9
setTextColorCenter(int textColorCenter) 设置分割线之间的文字的颜色
setTextColorOut(int textColorOut) 设置分割线以外的文字的颜色
setDividerColor(int dividerColor) 设置分割线颜色
setDividerType(WheelView.DividerType dividerType) 设置分割线样式,默认是FILL
setLineSpacingMultiplier(float lineSpacingMultiplier) 设置间隔倍距,只能在1.0-4.0f之间,默认是1.6
isCyclic(boolean cyclic) item是否循环
setLabel(String, String, String, String, String, String) 默认设置为年月日时分秒
isCenterLabel(boolean isCenterLabel) 是否只显示中间选中项的label文字
setOutSideCancelable(boolean cancelable) 是否允许点击外部取消
isDialog(boolean isDialog) 是否是对话框模式
setDecorView(ViewGroup decorView) 选择器会被添加到此容器中

自定义参数

var timePickerView = TimePickerBuilder(this) { date, v ->

}.setType(booleanArrayOf(true, true, true, true, false, false))
    .setCancelText("Cancel")
    .setCancelColor(Color.GRAY)
    .setSubmitText("Confirm")
    .setSubmitColor(Color.MAGENTA)
    .setSubCalSize(15)
    .setTitleText("Title")
    .setTitleColor(Color.RED)
    .setTitleSize(25)
    .setTitleBgColor(Color.BLACK)
    .setBgColor(Color.BLACK)
    .setContentTextSize(20)
    .setItemVisibleCount(11)
    .setTextColorCenter(Color.RED)
    .setTextColorOut(Color.MAGENTA)
    .setOutSideColor(Color.GRAY)
    .setDividerColor(Color.CYAN)
    .setDividerType(WheelView.DividerType.WRAP)
    .setLineSpacingMultiplier(2.5f)
    .isCyclic(true)
    .isCenterLabel(true)
    .build()

timePickerView.show()

显示如下

android pickerview,Android 控件,android,PickerView

3. 选项选择器

Android-PickerView选项选择器同样使用Build模式来创建,并且支持3级联动。

var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->

}.build<String>()

optionsPickerView.setNPicker(hourList, minuteList, secondList)

var calendar = Calendar.getInstance()
optionsPickerView.setSelectOptions(calendar.get(Calendar.HOUR_OF_DAY),
    calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND))
optionsPickerView.show()

显示如下

android pickerview,Android 控件,android,PickerView

OptionsPickerBuilder主要方法

方法 说明
setCancelText(String textContentCancel) 设置取消按钮文字
setCancelColor(int textColorCancel) 设置取消文字颜色
setSubmitText(String textContentConfirm) 设置确认按钮文字
setSubmitColor(int textColorConfirm) 设置确认文字颜色
setSubCalSize(int textSizeSubmitCancel) 设置取消和确认按钮文字大小
setTitleText(String textContentTitle) 设置标题文字
setTitleColor(int textColorTitle) 设置标题文字颜色
setTitleSize(int textSizeTitle) 设置标题文字大小
setTitleBgColor(int bgColorTitle) 设置标题栏颜色
setBgColor(int bgColorWheel) 设置背景颜色
setOutSideColor(int outSideColor) 设置外部背景颜色,默认是灰色
setContentTextSize(int textSizeContent) 设置内容文字大小
setItemVisibleCount(int count) 设置可见数目,最好是奇数,默认是9
setTextColorCenter(int textColorCenter) 设置分割线之间的文字的颜色
setTextColorOut(int textColorOut) 设置分割线以外的文字的颜色
setDividerColor(int dividerColor) 设置分割线颜色
setDividerType(WheelView.DividerType dividerType) 设置分割线样式,默认是FILL
setLineSpacingMultiplier(float lineSpacingMultiplier) 设置间隔倍距,只能在1.0-4.0f之间,默认是1.6
setCyclic(boolean cyclic1, boolean cyclic2, boolean cyclic3) item是否循环
setLabels(String label1, String label2, String label3) 设置单位字符
isCenterLabel(boolean isCenterLabel) 是否只显示中间选中项的label文字
setOutSideCancelable(boolean cancelable) 是否允许点击外部取消
isDialog(boolean isDialog) 是否是对话框模式
setDecorView(ViewGroup decorView) 选择器会被添加到此容器中
isRestoreItem(boolean isRestoreItem) 切换选项时,是否还原后面选项,默认保持上一个选项

自定义参数

var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->
}.setCancelText("Cancel")
    .setCancelColor(Color.GRAY)
    .setSubmitText("Confirm")
    .setSubmitColor(Color.MAGENTA)
    .setSubCalSize(15)
    .setTitleText("Title")
    .setTitleColor(Color.RED)
    .setTitleSize(25)
    .setTitleBgColor(Color.BLACK)
    .setBgColor(Color.BLACK)
    .setContentTextSize(20)
    .setItemVisibleCount(11)
    .setTextColorCenter(Color.RED)
    .setTextColorOut(Color.MAGENTA)
    .setOutSideColor(Color.GRAY)
    .setDividerColor(Color.CYAN)
    .setDividerType(WheelView.DividerType.WRAP)
    .setLineSpacingMultiplier(2.5f)
    .setCyclic(false, true, true)
    .setLabels("时", "分", "秒")
    .isCenterLabel(true)
    .build<String>()

optionsPickerView.setNPicker(hourList, minuteList, secondList)
var calendar = Calendar.getInstance()
optionsPickerView.setSelectOptions(calendar.get(Calendar.HOUR_OF_DAY),
    calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND))

optionsPickerView.show()

显示如下
android pickerview,Android 控件,android,PickerView

选项内容需要在OptionsPickerView里面设置

方法 说明
setPicker(List optionsItems) 设置联动选项
setPicker(List options1Items, List<List> options2Items) 设置联动选项
setPicker(List options1Items, List<List> options2Items, List<List<List>> options3Items) 设置联动选项
setNPicker(List options1Items, List options2Items, List options3Items) 设置选项,非联动情况下使用
setSelectOptions(int option1) 设置默认选中项
setSelectOptions(int option1, int option2) 设置默认选中项
setSelectOptions(int option1, int option2, int option3) 设置默认选中项

设置联动项,切换选项时,重置下一项

var optionsPickerView = OptionsPickerBuilder(this) { option1, option2, option3, v ->

}.isRestoreItem(true)
    .setItemVisibleCount(11)
    .build<String>()

optionsPickerView.setPicker(provinceList, cityList, areaList)
optionsPickerView.setSelectOptions(2, 5, 5)
optionsPickerView.show(v)

显示如下

android pickerview,Android 控件,android,PickerView文章来源地址https://www.toymoban.com/news/detail-651543.html

到了这里,关于Android PickerView简单应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android应用开发-Flutter的LongPressDraggable控件回调函数onDraggableCanceled使用

    以下是如何使用 onDraggableCanceled 的示例: velocity 参数表示拖动被取消时的速度信息。 offset 参数表示拖动被取消时的偏移量信息。 这个回调通常用于在拖动被取消时执行一些清理工作或展示一些反馈。例如,你可能想要将拖动对象返回到原始位置,或者显示一个提示,告诉用

    2024年03月08日
    浏览(42)
  • Android应用-Flutter实现丝滑的滑动删除、移动排序等-Dismissible控件详解

    Dismissible 是 Flutter 中用于实现可滑动删除或拖拽操作的一个有用的小部件。主要用于在用户对列表项或任何其他可滑动的元素执行删除或拖动操作时,提供一种简便的实现方式。 列表项删除: 允许用户在列表中通过滑动手势删除某个项。 左右滑动: 提供可自定义的背景,当

    2024年02月04日
    浏览(50)
  • Android - GPS的简单应用

    关于GPS卫星信息的获取,网上很多类似文章但都是只能用于安卓7.0以下的,在这里将安卓7.0以下的方法和安卓7.0以上的方法做个总结,安卓7.0以下用GpsStatus.Listener,安卓7.0及以上版本用GnssStatus.Callback 系统已经提供了LocationListener类,所以我们使用时直接实现它,重写下里面的

    2024年02月04日
    浏览(32)
  • 超简单演示Android地图开发应用实例

    手机地图开发应用广泛,本实例演示了在手机上显示各种地图的方法。比如3D矢量地图、卫星地图、交通地图、夜景地图等在手机上的显示。可以根据手势自由做地图缩放,地图旋转等操作。代码简洁、实用,可以帮助你快速上手地图开发。 一、实现效果图: 二、实现过程

    2024年02月11日
    浏览(44)
  • Android : 序列化 JSON简单应用

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和写入,同时也易于机器解析和生成。它基于JavaScript的子集,采用完全独立于语言的文本格式来存储和表示数据。JSON是纯文本,并且完全是语言无关的。 JSON使用JavaScript语法来描述数据结构,但实际上JSON所

    2024年02月04日
    浏览(35)
  • Android使用kotlin+协程+room数据库的简单应用

    前言:一般主线程(UI线程)中是不能执行创建数据这些操作的,因为等待时间长。所以协程就是为了解决这个问题出现。 第一步:在模块级的build.gradle中引入   好了前期工作ok,正式编写room吧! 第二步:创建表实体  第三部:编写对应的Dao接口  第四步:创建数据库信息

    2024年02月13日
    浏览(51)
  • 移动应用开发之路 05 Android Studio 简单登录界面制作

    学校开了一门移动应用开发课程,我一开始兴趣盎然,但是看到使用的环境是 Java 8 的时候心就凉了一半,在询问老师的意见之后决定使用现在比较常用的Android Studio完成学习,特此记录自学之路。 这篇是一个总结性质的文章,主要为了熟练运用之前讲过的几个UI控件。小项目

    2024年02月08日
    浏览(66)
  • Android WebView简单应用:构建内嵌网页浏览功能

    在现代移动应用开发中,内嵌网页浏览功能是许多应用程序的常见需求。Android平台提供了WebView组件,它允许开发者将网页内容嵌入到应用中,并提供了丰富的功能和定制选项。本文将介绍如何在Android应用中使用WebView组件,帮助您快速构建简单而强大的内嵌网页浏览功能。

    2024年02月13日
    浏览(37)
  • Android : Room 数据库的基本用法 —简单应用_一_入门

    Android Room 是 Android 官方提供的一个持久性库,用于在 Android 应用程序中管理数据库。它提供了一个简单的 API 层,使得使用 SQLite 数据库变得更加容易和方便。 以下是 Android Room 的主要特点: 对象关系映射 (ORM):Room 允许您将 Java 或 Kotlin 对象映射到数据库表中。您可以定义数

    2024年04月09日
    浏览(87)
  • Google推出Telecom Jetpack库,让Android通话应用创建更简单

    Telecom Jetpack库的最新Alpha版本已经推出。该库提供了多个API,以简化Android开发者创建语音和/或视频通话应用程序的过程,支持常见功能,例如接听/拒绝、音频路由等等。 https://developer.android.google.cn/jetpack/androidx/releases/core?hl=zh-cn#core-telecom_version_10_2 首先,新库会处理声明前台

    2024年01月22日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包