Biblioteca de diseño de Android con fondo de blob animado
Aplicación de demostración
Para ejecutar el proyecto de demostración, clone el repositorio y ejecútelo a través de Android Studio. (O) Descargue la última versión demo de las versiones.
Uso
Establecer dependencia
- Agregue el repositorio JitPack a su raíz build.gradle al final de los repositorios:
allprojects {
repositorio {
...
maven {url & # 39; https: //jitpack.io'}
}
}
- Agregue la dependencia BlobBackgroundLayout en build.gradle:
implementación & # 39; com.github.Chrisvin: BlobBackgroundLayout: 1.1 & # 39;
Utilice un BlobLayout
como contenedor base en su negocio / fragmentos.
Agregar BLOB en BlobLayout
usando addBlob ()
Los BLOB individuales se pueden personalizar en Blob.Configuration
.
blobLayout.add
Blob.Configuration (
// Ubicación del punto central de BLOB
blobCenterPosition = newBlobCenterPosition, // Opcional, Predeterminado = PointF (0f, 0f)
// El número de puntos de curva en el blob
pointCount = newPointCount, // Opcional, Predeterminado = 16
// El radio de la burbuja
radius = newRadius, // Opcional, predeterminado = 750f
// El desplazamiento máximo del radio BLOB
maxOffset = newMaxOffset, // Opcional, Predeterminado = 100f
// El blob debería animarse / cambiar de forma con el tiempo
shouldAnimateShape = newShouldAnimateShape, // Opcional, Predeterminado = verdadero
// Tiempo necesario para que el BLOB pase completamente de una forma a otra
shapeAnimationDuration = newShapeAnimationDuration, // Opcional, Predeterminado = 2000L
// El interpolador utilizado para la animación de la forma.
shapeAnimationInterpolator = newShapeAnimationInterpolator, // Opcional, Predeterminado = LinearInterpolator ()
// La pintura utilizada para dibujar el blob, se puede utilizar para establecer el color, dibujar solo contornos, etc.
paint = newPaint
/ * Opcional, predeterminado = Paint (). Aplicar {
isAntiAlias = true
style = Paint.Style.FILL
color = Color.RED
}
* /
)
)
Y ya terminaste con tu increíble y fácil interfaz de usuario. ^ _ ^
Características adicionales
Obtener recuento de BLOB
val blobCount: Int = blobLayout.getBlobCount ()
Recrea todos los blobs con nuevas formas
blobLayout.recreateBlobs ()
Recrea BLOB en el índice con una nueva forma
blobLayout.recreateBlob (index)
Eliminar todos los blobs
blobLayout.removeBlobs ()
Eliminar BLOB del índice
blobLayout.removeBlob (index)
Obtenga todas las configuraciones BLOB
val blobConfigs: Array = blobLayout.getBlobConfigurations ()
Obtenga la configuración BLOB en el índice
val blobConfig: Blob.Configuration = blobLayout.getBlobConfiguration (index)
Actualice todas las configuraciones de BLOB
blobLayout.updateBlobConfigurations (blobConfigs)
Actualizar la configuración de BLOB en el índice
blobLayout.updateBlobConfiguration (blobConfig, index)
Nota: las características mencionadas anteriormente se admiten en todos los BlobLayouts ( y en las discusiones por favor utilice los problemas de Github. BlobConstraintLayout
BlobFrameLayout
BlobLinearLayout
Licencia
Licencia MIT
Copyright (c) 2019 Jem
La autorización se otorga de forma gratuita a cualquier persona que obtenga una copia
de este software y los archivos de documentación asociados (el "Software"), para ser procesados
en el software sin restricciones, incluidos, entre otros, los derechos
para usar, copiar, modificar, fusionar, publicar, distribuir, licenciar y / o vender
copias del Software y para permitir a las personas a quienes se refiere el Software
previsto para este fin, sujeto a las siguientes condiciones:
El aviso de copyright anterior y esta nota de autorización deben incluirse en todos
copias o partes sustanciales del software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O
IMPLÍCITO, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD,
APTITUD PARA UN PROPÓSITO EN PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO EL
LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SON RESPONSABLES DE CUALQUIER RECLAMACIÓN, DAÑO O DE OTRA MANERA
RESPONSABILIDAD, EN CASO DE ACCIÓN DE CONTRATO, TORTURA O DE OTRA MANERA, DERIVADA DE,
FUERA DE O EN CONEXIÓN CON EL SOFTWARE O USO U OTRAS OFERTAS EN EL
SOFTWARE.
.