android PickerView

571 阅读1分钟

一、 前言

Android-PickerView支持时间选择和选项选择这两种选择器

  • OptionsPickerView -选项选择器
  • TimePickerView -时间选择器

二、示例:

1. 包含一级选择器的选项选择器

OptionsPickerView pvOptions = new OptionsPickerBuilder(AddressAddOrChangeActivity.this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                // 获取选中项的文本
                String address = options1Items.get(options1).getPickerViewText();
            }
        }).build(); // 生成OptionsPickerView 

        pvOptions.setPicker(options1Items); // 一级选择器
        pvOptions.show(); // 显示

2. 包含三级选择器的选项选择器

 OptionsPickerView pvOptions = new OptionsPickerBuilder(AddressAddOrChangeActivity.this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                //返回的分别是三个级别的选中位置
                String address = options1Items.get(options1).getPickerViewText() +
                        options2Items.get(options1).get(options2) +
                        options3Items.get(options1).get(options2).get(options3);
            }
        }).build(); // 生成OptionsPickerView 

        pvOptions.setPicker(options1Items, options2Items, options3Items);//三级选择器
        pvOptions.show();

3. 包含三级选择器的选项选择器,并设置样式属性

 OptionsPickerView pvOptions = new OptionsPickerBuilder(AddressAddOrChangeActivity.this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                //返回的分别是三个级别的选中位置
                String address = options1Items.get(options1).getPickerViewText() +
                        options2Items.get(options1).get(options2) +
                        options3Items.get(options1).get(options2).get(options3);

                mTvAddress.setText(address);
            }
        }).setSubmitText("确定")//确定按钮文字
                .setCancelText("取消")//取消按钮文字
                .setTitleText("城市选择")//标题
                .setSubCalSize(18)//确定和取消文字大小
                .setTitleSize(20)//标题文字大小
                .setTitleColor(Color.BLACK)//标题文字颜色
                .setSubmitColor(Color.BLUE)//确定按钮文字颜色
                .setCancelColor(Color.BLUE)//取消按钮文字颜色
                .setTitleBgColor(0xFF333333)//标题背景颜色 Night mode
                .setBgColor(0xFF000000)//滚轮背景颜色 Night mode
                .setContentTextSize(18)//滚轮文字大小
                .setLinkage(false)//设置是否联动,默认true
                .setLabels("省", "市", "区")//设置选择的三级单位
                .setCyclic(false, false, false)//循环与否
                .setSelectOptions(1, 1, 1)  //设置默认选中项
                .setOutSideCancelable(false)//点击外部dismiss default true
                .build();

        pvOptions.setPicker(options1Items, options2Items, options3Items);//三级选择器
        pvOptions.show();// 显示

options1Items、options2Items、options3Items 数据结构

三、环境

1. gradel 依赖

compile 'com.contrarywind:Android-PickerView:4.1.5'

2. github 地址

github.com/Bigkoo/Andr…