pickerView用法------代完善

导包
implementation 'com.contrarywind:Android-PickerView:4.1.8'

Bean回调

package com.example.gaowen38.data.bean;

import com.contrarywind.interfaces.IPickerViewData;

public class ProvinceBean implements IPickerViewData {
    private String Gender;

    public String getGender() {
        return Gender;
    }

    public void setGender(String gender) {
        Gender = gender;
    }

    public ProvinceBean(String gender) {
        Gender = gender;
    }

    @Override
    public String getPickerViewText() {
        return Gender;
    }
}

3.自定义看博客

package com.example.gaowen38.utils;

import android.content.Context;
import android.graphics.Color;
import android.view.View;

import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;
import com.example.gaowen38.R;
import com.example.gaowen38.data.bean.ProvinceBean;
import com.example.gaowen38.view.activity.UserRegisterActivity;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PickerUtils {

    //获取选中信息
    private static String getgetder;
    //返回时间
    private static String format;
    //获取所有选中信息
    private static String getall;

    //获取性别
    public static void getGenDerS(Context context, String gender, OnPickerClickListener listener){
        //性别集合
        List<ProvinceBean> options1Items = new ArrayList<>();
        options1Items.add(new ProvinceBean("男"));
        options1Items.add(new ProvinceBean("女"));
        int selectOption = gender.equals("男") ? 0 : 1;
        //条件选择器
        OptionsPickerView pvOptions = new OptionsPickerBuilder(context, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int option2, int options3 , View v) {
                //返回的分别是三个级别的选中位置
                getgetder = options1Items.get(options1).getPickerViewText();
                if (listener != null) {
                    listener.onGenderClick(getgetder);
                }
            }
        }) .setOptionsSelectChangeListener(new OnOptionsSelectChangeListener() {
            @Override
            public void onOptionsSelectChanged(int options1, int options2, int options3) {

            }
        })
                .setSubmitText("确定")//确定按钮文字
                .setCancelText("取消")//取消按钮文字
                .setTitleText("选择性别")//标题
                .setSubCalSize(14)//确定和取消文字大小
                .setTitleSize(14)//标题文字大小
                .setDividerColor(context.getResources().getColor(R.color.vipfont))//分频器颜色
                .setTitleColor(context.getResources().getColor(R.color.white))//标题文字颜色
                .setSubmitColor(context.getResources().getColor(R.color.white))//确定按钮文字颜色
                .setCancelColor(context.getResources().getColor(R.color.white))//取消按钮文字颜色
                .setTitleBgColor(context.getResources().getColor(R.color.zitixuanzhong))//标题背景颜色 Night mode
                .setBgColor(Color.WHITE)//滚轮背景颜色 Night mode
                .setContentTextSize(18)//滚轮文字大小
                .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
                .setSelectOptions(selectOption)  //设置默认选中项
                .setOutSideCancelable(false)//点击外部dismiss default true
                .isDialog(false)//是否显示为对话框样式
                .isRestoreItem(true)//切换时是否还原,设置默认选中第一项。
                .build();

        pvOptions.setPicker(options1Items);//添加数据源
        pvOptions.show();
    }
    //获取所有封装

    /**
     *
     * @param context 上下文
     * @param options1Items 集合
     * @param selectOption 设置默认选中项
     * @param listener 获取返回值
     * @param getTitleText 标题选择
     */
    public static void getPickerInForMation(Context context,int selectOption,List<ProvinceBean> options1Items,OnPickerClickListeners onPickerClickListeners){
        //所有集合

        //条件选择器
        OptionsPickerView pvOptions = new OptionsPickerBuilder(context, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int option2, int options3 , View v) {
                //返回的分别是三个级别的选中位置
                getall = options1Items.get(options1).getPickerViewText();
                if ( onPickerClickListeners!= null) {
                    onPickerClickListeners.onAllClick(getall);
                }
            }
        }) .setOptionsSelectChangeListener(new OnOptionsSelectChangeListener() {
            @Override
            public void onOptionsSelectChanged(int options1, int options2, int options3) {

            }
        })
                .setSubmitText("确定")//确定按钮文字
                .setCancelText("取消")//取消按钮文字
                .setTitleText("")//标题
                .setSubCalSize(14)//确定和取消文字大小
                .setTitleSize(14)//标题文字大小
                .setDividerColor(context.getResources().getColor(R.color.vipfont))//分频器颜色
                .setTitleColor(context.getResources().getColor(R.color.white))//标题文字颜色
                .setSubmitColor(context.getResources().getColor(R.color.white))//确定按钮文字颜色
                .setCancelColor(context.getResources().getColor(R.color.white))//取消按钮文字颜色
                .setTitleBgColor(context.getResources().getColor(R.color.zitixuanzhong))//标题背景颜色 Night mode
                .setBgColor(Color.WHITE)//滚轮背景颜色 Night mode
                .setContentTextSize(18)//滚轮文字大小
                .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
                .setSelectOptions(selectOption)  //设置默认选中项
                .setOutSideCancelable(false)//点击外部dismiss default true
                .isDialog(false)//是否显示为对话框样式
                .isRestoreItem(true)//切换时是否还原,设置默认选中第一项。
                .build();

        pvOptions.setPicker(options1Items);//添加数据源
        pvOptions.show();
    }
    //性别点击
    public interface OnPickerClickListener {
        void onGenderClick(String gender);
    }
    //性别点击
    public interface OnPickerClickListeners {
        void onAllClick(String all);
    }


}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是一个高仿 IOS PickerView 控件的库。码来自:https://github.com/saiwu-bigkoo/Android-PickerView ,在原有码基础上进行封装,并提供了一些修改属性方法。后期如有时间,将会对原有码进行优化。预览使用首先需要在 build.gradle 文件中添加依赖:dependencies {    compile 'com.airsaid.library:pickerviewlibrary:1.0.0' }添加好依赖后,重新同步工程。可根据需求使用如下选择器:城市选择:        CityPickerView mCityPickerView = new CityPickerView(this);         // 设置点击外部是否消失 //        mCityPickerView.setCancelable(true);         // 设置滚轮字体大小 //        mCityPickerView.setTextSize(18f);         // 设置标题 //        mCityPickerView.setTitle("我是标题");         // 设置取消文字 //        mCityPickerView.setCancelText("我是取消文字");         // 设置取消文字颜色 //        mCityPickerView.setCancelTextColor(Color.GRAY);         // 设置取消文字大小 //        mCityPickerView.setCancelTextSize(14f);         // 设置确定文字 //        mCityPickerView.setSubmitText("我是确定文字");         // 设置确定文字颜色 //        mCityPickerView.setSubmitTextColor(Color.BLACK);         // 设置确定文字大小 //        mCityPickerView.setSubmitTextSize(14f);         // 设置头部背景 //        mCityPickerView.setHeadBackgroundColor(Color.RED);         mCityPickerView.setOnCitySelectListener(new CityPickerView.OnCitySelectListener() {             @Override             public void onCitySelect(String str) {                 Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();             }         });         mCityPickerView.show();时间选择: //     TimePickerView 同样有上面设置样式的方法         TimePickerView mTimePickerView = new TimePickerView(this, TimePickerView.Type.YEAR_MONTH_DAY);         // 设置是否循环 //        mTimePickerView.setCyclic(true);         // 设置滚轮文字大小 //        mTimePickerView.setTextSize(TimePickerView.TextSize.SMALL);         // 设置时间可选范围(结合 setTime 方法使用,必须在) //        Calendar calendar = Calendar.getInstance(); //        mTimePickerView.setRange(calendar.get(Calendar.YEAR) - 100, calendar.get(Calendar.YEAR));         // 设置选中时间 //        mTimePickerView.setTime(new Date());         mTimePickerView.setOnTimeSelectListener(new TimePickerView.OnTimeSelectListener() {             @Override             public void onTimeSelect(Date date) {                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);                 Toast.makeText(MainActivity.this, format.format(date), Toast.LENGTH_SHORT).show();             }         });         mTimePickerView.show();选项选择:        OptionsPickerView<String> mOptionsPickerView = new OptionsPickerView<>(this);         final ArrayList<String> list = new ArrayList<>();         list.add("男");         list.add("女");         // 设置数据         mOptionsPickerView.setPicker(list);         // 设置选项单位 //        mOptionsPickerView.setLabels("性");         mOptionsPickerView.setOnOptionsSelectListener(new OptionsPickerView.OnOptionsSelectListener() {             @Override             public void onOptionsSelect(int option1, int option2, int option3) {                 String sex = list.get(option1);                 Toast.makeText(MainActivity.this, sex, Toast.LENGTH_SHORT).show();             }         });         mOptionsPickerView.show();

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值