Aplicación simple Android PickerView

1. Android-PickerView

Android-PickerView es un control similar a iOS PickerViewcon un selector de tiempo y un selector de opciones.

agregar dependencias

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

2. Selector de tiempo

Android-PickerViewLos selectores de tiempo Buildse crean usando el patrón

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

mostrar como a continuación

inserte la descripción de la imagen aquí

TimePickerBuildermétodo principal

método ilustrar
setType(tipo booleano[]) Controle respectivamente la visualización u ocultación de "año", "mes", "día", "hora", "minuto" y "segundo", la longitud del tipo es 6
setDate(fecha del calendario) Llame al método set de Calendario para configurar la hora
setRangDate(Fecha de inicio del calendario, Fecha de finalización del calendario) establecer hora de inicio
setCancelText(Cadena textContentCancel) Establecer el texto del botón cancelar
setCancelColor(int textColorCancel) Establecer el color del texto de cancelación
setSubmitText(String textContentConfirm) Establecer el texto del botón de confirmación
setSubmitColor(int textColorConfirm) Establecer el color del texto de confirmación
setSubCalSize(int textSizeSubmitCancel) Establecer el tamaño del texto del botón cancelar y confirmar
setTitleText(Cadena textContentTitle) establecer el texto del título
setTitleColor(int textColorTitle) Establecer el color del texto del título
setTitleSize(int textSizeTitle) Establecer el tamaño del texto del título
setTitleBgColor(int bgColorTitle) Establecer el color de la barra de título
setBgColor(int bgColorWheel) establecer el color de fondo
setOutSideColor(int outSideColor) Establezca el color de fondo externo, el valor predeterminado es gris
setContentTextSize(int textSizeContent) Establecer el tamaño del texto del contenido
setItemVisibleCount(recuento int) Establezca el número visible, preferiblemente un número impar, el valor predeterminado es 9
setTextColorCenter(int textColorCenter) Establece el color del texto entre las líneas divisorias
setTextColorOut(int textColorOut) Establecer el color del texto fuera de la línea divisoria
setDividerColor(int divisorColor) Establecer el color de la línea divisoria
setDividerType(WheelView.DividerType dividerType) Establezca el estilo de línea divisoria, el valor predeterminado es FILL
setLineSpacingMultiplier(flotante lineSpacingMultiplier) Configure el multiplicador de intervalo, solo puede estar entre 1.0-4.0f, el valor predeterminado es 1.6
isCyclic(booleano cíclico) Si el elemento se repite
setLabel(Cadena, Cadena, Cadena, Cadena, Cadena, Cadena) La configuración predeterminada es año, mes, día, hora, minuto y segundo
isCenterLabel(booleano isCenterLabel) Ya sea para mostrar solo el texto de la etiqueta del elemento seleccionado en el medio
setOutSideCancelable(booleano cancelable) Ya sea para permitir hacer clic fuera para cancelar
esDiálogo(booleano esDiálogo) ¿Es el modo de diálogo?
setDecorView(ViewGroup decorView) El selector se agregará a este contenedor.

Parámetros personalizados

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()

mostrar como a continuación

inserte la descripción de la imagen aquí

3. Selector de opciones

Android-PickerViewLos selectores de opciones también se Buildcrean utilizando patrones y admiten 3 niveles de vinculación.

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()

mostrar como a continuación

inserte la descripción de la imagen aquí

OptionsPickerBuildermétodo principal

método ilustrar
setCancelText(Cadena textContentCancel) Establecer el texto del botón cancelar
setCancelColor(int textColorCancel) Establecer el color del texto de cancelación
setSubmitText(String textContentConfirm) Establecer el texto del botón de confirmación
setSubmitColor(int textColorConfirm) Establecer el color del texto de confirmación
setSubCalSize(int textSizeSubmitCancel) Establecer el tamaño del texto del botón cancelar y confirmar
setTitleText(Cadena textContentTitle) establecer el texto del título
setTitleColor(int textColorTitle) Establecer el color del texto del título
setTitleSize(int textSizeTitle) Establecer el tamaño del texto del título
setTitleBgColor(int bgColorTitle) Establecer el color de la barra de título
setBgColor(int bgColorWheel) establecer el color de fondo
setOutSideColor(int outSideColor) Establezca el color de fondo externo, el valor predeterminado es gris
setContentTextSize(int textSizeContent) Establecer el tamaño del texto del contenido
setItemVisibleCount(recuento int) Establezca el número visible, preferiblemente un número impar, el valor predeterminado es 9
setTextColorCenter(int textColorCenter) Establece el color del texto entre las líneas divisorias
setTextColorOut(int textColorOut) Establecer el color del texto fuera de la línea divisoria
setDividerColor(int divisorColor) Establecer el color de la línea divisoria
setDividerType(WheelView.DividerType dividerType) Establezca el estilo de línea divisoria, el valor predeterminado es FILL
setLineSpacingMultiplier(flotante lineSpacingMultiplier) Configure el multiplicador de intervalo, solo puede estar entre 1.0-4.0f, el valor predeterminado es 1.6
setCyclic(booleano cíclico1, booleano cíclico2, booleano cíclico3) Si el elemento se repite
setLabels(Cadena etiqueta1, Cadena etiqueta2, Cadena etiqueta3) establecer carácter de unidad
isCenterLabel(booleano isCenterLabel) Ya sea para mostrar solo el texto de la etiqueta del elemento seleccionado en el medio
setOutSideCancelable(booleano cancelable) Ya sea para permitir hacer clic fuera para cancelar
esDiálogo(booleano esDiálogo) ¿Es el modo de diálogo?
setDecorView(ViewGroup decorView) El selector se agregará a este contenedor.
isRestoreItem(booleano esRestoreItem) Al cambiar de opción, ya sea para restaurar la última opción, el valor predeterminado es mantener la opción anterior

Parámetros personalizados

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()

mostrar como a continuación
inserte la descripción de la imagen aquí

El contenido de la opción debe OptionsPickerViewconfigurarse dentro

método ilustrar
setPicker(Lista de elementos de opciones) Establecer opciones de vinculación
setPicker(Lista opciones1Elementos, Lista<Lista> opciones2Elementos) Establecer opciones de vinculación
setPicker(Lista opciones1Elementos, Lista<Lista> opciones2Elementos, Lista<Lista<Lista>> opciones3Elementos) Establecer opciones de vinculación
setNPicker(Opciones de lista1Elementos, Opciones de lista2Elementos, Opciones de lista3Elementos) Opciones de configuración, utilizadas en no vinculación
setSelectOptions(int opción1) establecer la selección predeterminada
setSelectOptions(int opción1, int opción2) establecer la selección predeterminada
setSelectOptions(int opción1, int opción2, int opción3) establecer la selección predeterminada

Establezca el elemento de vinculación, al cambiar de opción, restablezca el elemento siguiente

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)

mostrar como a continuación

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/chennai1101/article/details/130641768
Recomendado
Clasificación