导包
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);
}
}