1. Android-PickerView
Android-PickerView es un control similar a iOS PickerView
con un selector de tiempo y un selector de opciones.
agregar dependencias
implementation 'com.contrarywind:Android-PickerView:4.1.9'
2. Selector de tiempo
Android-PickerView
Los selectores de tiempo Build
se crean usando el patrón
var timePickerView = TimePickerBuilder(context) {
date, v ->
}.build()
timePickerView.show()
mostrar como a continuación
TimePickerBuilder
mé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
3. Selector de opciones
Android-PickerView
Los selectores de opciones también se Build
crean 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
OptionsPickerBuilder
mé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
El contenido de la opción debe OptionsPickerView
configurarse 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