PickerView的使用

  • PickerView的使用
    • PickerView是什么
    • 使用方式
      • WheelView的使用
      • OptionsPickerView(级联选择)
      • TimePickerView的使用

PickerView的使用

PickerView是什么

仿iOS的PickerView控件,带有3D圆弧效果,并封装了时间选择和选项选择这两种选择器。

WheelView —— 基础控件
带有3D圆弧效果。
支持文字、颜色、大小设置。
支持背景颜色设置。
支持item的分隔线设置。
支持item间距设置。
支持设置是否循环。

OptionsPickerView —— 选项选择器
支持一、二、三级联动数据。
支持一、二、三级不联动数据。
支持自定义布局。
支持自定义标题栏。
支持“省,市,区”等选项的单位(label)显示、隐藏和自定义。
支持dialog 模式显示。
支持自定义设置容器。
支持实时回调监听。
联动数据支持切换Item时,还原为第一项。

TimePickerView —— 时间选择器
支持选择年、月、日的范围。
支持年月日时分秒显示。
支持设置当前默认时间。
支持自定义布局。
支持自定义标题栏。
支持“年,月,日,时,分,秒”等选项的单位(label)显示、隐藏和自定义。
支持dialog 模式显示。
支持自定义设置容器。
支持实时回调监听。

使用方式

WheelView的使用

依赖

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

layout的配置

<?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"tools:context=".MainActivity"><com.contrarywind.view.WheelViewandroid:id="@+id/wheelView"android:layout_width="match_parent"android:layout_height="wrap_content"></com.contrarywind.view.WheelView></LinearLayout>

MainActivity

package com.example.day011;import android.os.Bundle;
import android.util.Log;import androidx.appcompat.app.AppCompatActivity;import com.bigkoo.pickerview.adapter.ArrayWheelAdapter;
import com.contrarywind.listener.OnItemSelectedListener;
import com.contrarywind.view.WheelView;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private WheelView wheelView;private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();//数据源final List<String> list = new ArrayList<>();list.add("我的中国心");list.add("北国之春");list.add("鹿港小镇");//选择器wheelView.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(int index) {Log.i(TAG, "onItemSelected: "+list.get(index));}});//系统自带的适配器ArrayWheelAdapter wheelAdapter = new ArrayWheelAdapter(list);//最后加载适配器wheelView.setAdapter(wheelAdapter);}private void initView() {wheelView = (WheelView) findViewById(R.id.wheelView);}
}

效果

OptionsPickerView(级联选择)

MainActivity

package com.example.day011;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Toast;import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;import java.util.ArrayList;
import java.util.List;public class MainActivity2 extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);initOptionPicker();}private void initOptionPicker() {//数据源//一级final List<String> options1Items = new ArrayList<>();options1Items.add("射雕英雄传");options1Items.add("神雕侠侣");options1Items.add("倚天屠龙记");//二级List<String> options2Items_01 = new ArrayList<>();options2Items_01.add("郭靖");options2Items_01.add("黄蓉");options2Items_01.add("洪七公");options2Items_01.add("欧阳锋");List<String> options2Items_02 = new ArrayList<>();options2Items_02.add("杨过");options2Items_02.add("小龙女");options2Items_02.add("李莫愁");List<String> options2Items_03 = new ArrayList<>();options2Items_03.add("张无忌");options2Items_03.add("敏敏特穆尔");options2Items_03.add("张三丰");final List<List<String>> options2Items = new ArrayList<>();options2Items.add(options2Items_01);options2Items.add(options2Items_02);options2Items.add(options2Items_03);OptionsPickerView<String> optionsPickerView = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {@Overridepublic void onOptionsSelect(int options1, int options2, int options3, View v) {String tx = options1Items.get(options1) + options2Items.get(options1).get(options2);Toast.makeText(MainActivity2.this, "" + tx, Toast.LENGTH_SHORT).show();}}).setOptionsSelectChangeListener(new OnOptionsSelectChangeListener() {@Overridepublic void onOptionsSelectChanged(int options1, int options2, int options3) {String str = "option1:"+options1+"option2:"+options2+"option3:"+options3;Toast.makeText(MainActivity2.this, ""+str, Toast.LENGTH_SHORT).show();}}).build();optionsPickerView.setPicker(options1Items,options2Items);optionsPickerView.show();}
}

TimePickerView的使用

package com.example.day011;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Toast;import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;import java.util.Date;public class MainActivity3 extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main3);new TimePickerBuilder(this, new OnTimeSelectListener() {@Overridepublic void onTimeSelect(Date date, View v) {Toast.makeText(MainActivity3.this, ""+date.toString(), Toast.LENGTH_SHORT).show();}}).build().show();}
}

PickerView的使用相关推荐

  1. iOS pickerView(所有类型一网打尽)

    概述 关于PickView的所有类型都在这里 详细 代码下载:http://www.demodashi.com/demo/11017.html 首先看下项目的整体结构: 一.准备工作 UIPicker ...

  2. android 仿ios三级联动,仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果...

    Android-PickerView 注意事项.详请使用方式.更新日志等,请查看 Wiki文档 Wiki文档,Wiki文档,Wiki文档 !~ 重要的事情说三遍 对于使用上有任何疑问或优化建议等,欢迎 ...

  3. RN PickerView组件

    pickerView多滚轮选中组件 1.功能说明 页面底部弹出的半屏滚轮选择弹窗 目前仅支持到双滚轮,三滚轮的后期再扩展 2.组件效果 单滚轮 双滚轮 3.数据格式 单滚轮数据 {option: [{ ...

  4. android自定义滚轴选择器_Android自定义控件实战—滚动选择器PickerView

    手机里设置闹钟需要选择时间,那个选择时间的控件就是滚动选择器,前几天用手机刷了MIUI,发现自带的那个时间选择器效果挺好看的,于是就自己仿写了一个,权当练手.先来看效果: 效果还行吧?实现思路就是自定 ...

  5. ios 时间选择器月份设置中文_iOS 自定义日期选择器  PickerView优化版

    // rgb颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue ...

  6. Android 选择器 PickerView实例,时间选择器、地址选择器、单项选择器、多项选择器自定义布局

    是采用的github开源库PickerView,省时省力.最终效果图见最后 首先添加依赖: //PickerView 选择器 implementation 'com.contrarywind:Andr ...

  7. picker-view——实现picker自定义样式

    文章目录 参考文档 遇到的坑 组件封装(time-picker) 使用 效果图 参考文档 picker-view vant组件--Layout 布局 picker/vant-DatetimePicke ...

  8. pickerView的一些用法

    //加载pickerview在viewDidLoad函数中调用该函数即可,刚开始将pickerview放在屏幕最底方,通过调用下面的showPickerView函数使其从底部动态出现 -(void) ...

  9. 小程序picker-view的使用

    小程序picker-view的使用 <picker-view indicator-style="height: 50px;" style="width: 100%; ...

  10. Android自定义控件实战——滚动选择器PickerView

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38513301 手机里设置闹钟需要选择时间,那个选择时间的控件就是滚动选择器, ...

最新文章

  1. ios开发中的C语言学习—— 结构体简介
  2. 如何将SAP Spartacus的默认home页面替换成login页面 - ProtectedRoutesService
  3. python excel 转json_Python办公自动化| word 表格转excel
  4. mysql float64_'numpy.float64'对象没有属性'translate'在Python中插入值到Mysql
  5. ie8升级到ie11 操作系统不受支持
  6. 第11章 支撑向量机 SVM 学习笔记 中
  7. Luogu2420 让我们异或吧
  8. 10月21日Ajax培训日记
  9. 编译原理-陈火旺-第三版-课后习题第八章123题
  10. 蓝海灵豚医疗器械管理隐形眼镜专版用户指南5.9.0.0
  11. Mac Excel 次坐标轴/双坐标轴/柱状图+折线图
  12. Markdown中插入excel表的简便方法
  13. Font shape `TU/ptm/m/n' undefined(Font) using `TU/lmr/m/n' instead
  14. 佛理(引用别人的东西,怕忘记了不好找,拿来了,哈哈)
  15. 菱形c语言思路,c语言打印菱形(c语言打印菱形思路)
  16. 您认为做好测试计划工作的关键是什么?
  17. 2010.12.29(2)——— android GridView
  18. python Stark 组件
  19. 【数据结构】广义表的介绍
  20. 什么时候可以找回民族的自尊,不再崇洋媚外?--从华晨老总骏捷发布会的一番话说起...

热门文章

  1. Internet Download Manager 6.37.14 Final
  2. 01.linux内核源码结构
  3. linux之vmlinux、vmlinuz、System.map和/proc/kallsyms简介
  4. js 调用摄像头拍照
  5. 三菱MX Component通信应用
  6. 三菱PLC仿真软件的序列号
  7. 深信服(SCSA)认证学习—基础知识点二
  8. 机器学习_周志华_西瓜书_学习笔记_第16章--强化学习
  9. C/C++经典项目开发:教你破解Windows系统密码,手把手教你做解密项目
  10. python程序设计基础教程慕课版课后题答案_Python语言程序设计基础