The Android Arsenal – Vistas

Un FragmentDialog implementado con RecyclerView que puede aceptar selecciones únicas o múltiples

Instalación

RecyclerPickerDialog se distribuye a través de Maven Central, Jcenter y Jitpack.

implementation 'com.github.guilhe:recycler-picker-dialog:${LATEST_VERSION}'

Uso

Tipos de selección

enumclassSelectionType { SINGLE, MULTIPLE }

Tipos de selector

enumclassSelectorType { CHECK_BOX, RADIO_BUTTON, SWITCH }

Campos personalizados (y valores predeterminados)

var title =""
var showSearchBar =false
var inputHint =""
var buttonText:String="Ok"
var resetValuesOnShow =true
var dismissKeyboardOnSelection =true
var dismissOnSelection =false
var isChoiceMandatory =false
vardata:ArrayList<Item>=arrayListOf
()
@AnimRes var itemsLayoutAnimator:Int?=null
var dialogHeight:Int=ViewGroup.LayoutParams.MATCH_PARENT
var lifecycleOwner:LifecycleOwner?=null

Evita pérdidas de memoria

Simplemente agregue la siguiente línea para evitar pérdidas de memoria si no se eliminan antes de que se destruya la actividad o el fragmento:

picker.newInstance(/* setup... */).apply { lifecycleOwner =this@MainActivity }

Temas

Para anular el tema predeterminado, cree el suyo propio simplemente extendiéndolo y reemplazando los valores de color deseados:

<stylename="DialogA"parent="RecyclerPickerDialogTheme"
>
    <itemname="colorPrimary">@color/red</item
>
    <itemname="recyclerPickerDialogCornerRadius">20dp</item
>
</style>

Atributos

Puede reemplazar los siguientes atributos:

<resources
>
    <stylename="RecyclerPickerDialogTheme"parent="Theme.MaterialComponents.Light.Dialog"
>
        <itemname="colorPrimary"
/>
        <itemname="colorOnPrimary"
/>
        <itemname="colorSecondary"

/>
     
        <itemname="android:textColorPrimary"
/>
        <itemname="android:textColorSecondary"

/>

        <itemname="colorAccent"
/>
        <itemname="android:colorEdgeEffect"
/>
        <itemname="recyclerPickerDialogCornerRadius"
/>
    </style
>
</resources>

Dónde está:

  • colorPrimary > Color de fondo del título y el botón
  • colorOnPrimary > Título y color del texto del botón
  • colorSecondary > Color de fondo del cuadro de diálogo y la línea
  • colorEdgeEffect > Color del borde de RecyclerView
  • textColorPrimary > Buscar y color de texto de línea
  • textColorSecondary > Sugerencia de búsqueda y color del icono; Color de líneas horizontales
  • colorSurface > CheckBox, RadioButton y Color Switch deseleccionados
  • colorOnSurface > Fondo del botón cuando está deshabilitado (Nota sustituir colorSurface)
  • colorAccent > CheckBox, RadioButton y Switch comprobaron el color; Sugerencia de color del cursor
  • recicladorPickerDialogCornerRadius > Radio de las esquinas del diálogo

Creando una nueva instancia:

val picker =
RecyclerPickerDialogFragment


        .newInstance(
            type =SelectionType.SINGLE, //default

            selector =SelectorType.CHECK_BOX, //default

            theme = R.style.RecyclerPickerDialogTheme, //default

            onItemsPicked = { selected ->/* selected items or empty */

 }
        )
        .apply
 {
            /* configure custom fields */
 
        }

Muéstralo cuando quieras:

picker.show(supportFragmentManager, "MyPickerDialogFragment")

Prueba el archivo aplicación de muestra para verlo funcionar!

Adicciones

Errores y comentarios

Para errores, preguntas y discusiones, utilice los problemas de GitHub.

LICENCIA

Copyright (c) 2020 – presente GuilhE

Con licencia de Apache License, Versión 2.0 (la “Licencia”); no puede utilizar este archivo excepto de acuerdo con la licencia. Puede obtener una copia de la licencia en

http://www.apache.org/licenses/LICENSE-2.0

A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye “TAL CUAL”, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sea expresa o implícita. Consulte la Licencia para conocer el idioma específico que rige los permisos y restricciones de la Licencia.

.

About MiReal

Compruebe también

Android Studio 4.1: nuevas funciones para desarrolladores

Android Studio 4.1 llegó al canal estable el mes pasado, trayendo una serie de nuevas …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *