Compose Bubble
v1.1.0
Ancho de burbujas de chat/discurso Diferentes propiedades de flecha, fondo, sombra para crear burbujas de chat como WhatsApp, Telegram u otras aplicaciones de mensajería tienen o flechas con flecha en la parte inferior para crear burbujas de información.
Para obtener un proyecto GIT en su construcción:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.SmartToolFactory:Compose-Bubble:Tag'
}
Modifier.bubble , o createbubbleshape función para crear esto como Shape o BubbleLayout como en demostración como
@Composable
fun BubbleLayout (
modifier : Modifier = Modifier ,
bubbleState : BubbleState ,
backgroundColor : Color = Color . White ,
shadow : BubbleShadow ? = null,
borderStroke : BorderStroke ? = null,
content : @Composable () -> Unit
) {
Column (
modifier.bubble(
bubbleState = bubbleState,
color = backgroundColor,
shadow = shadow,
borderStroke = borderStroke
)
) {
content()
}
}
Hay 4 demostraciones para probar burbujas .
DemoFullChat es una pequeña muestra de chat que muestra flecha en el primer mensaje desde el remitente o usuarioDemoDynamicSize es para cambiar las burbujas dinámicamente para observar los cambios en tiempo real. Puede agregar sus burbujas personalizadas para probar cambios dinámicos.DemoBubbles muestra algunas burbujas de muestraDemoSimpleLayout es para demostrar restricciones Placeable Constraints.offset(x,y) y Contrainsts.constrainWidth Layout| Chat completo z | Tamaño dinámico | Muestras de burbujas |
|---|---|---|
![]() | ![]() | ![]() |
class BubbleState internal constructor(
var backgroundColor: Color = DefaultBubbleColor,
var cornerRadius: BubbleCornerRadius = BubbleCornerRadius(
topLeft = 8.dp,
topRight = 8.dp,
bottomLeft = 8.dp,
bottomRight = 8.dp,
),
var alignment: ArrowAlignment = ArrowAlignment.NONE,
var arrowShape: ArrowShape = ArrowShape.TRIANGLE_RIGHT,
var arrowOffsetX: Dp = 0.dp,
var arrowOffsetY: Dp = 0.dp,
var arrowWidth: Dp = 14.dp,
var arrowHeight: Dp = 14.dp,
var arrowRadius: Dp = 0.dp,
var drawArrow: Boolean = true,
var shadow: BubbleShadow? = null,
)
Para crear un bubblestate para modificar la burbuja que se dibujará, use una de las sobrecargas de funciones de recuerdo
fun rememberBubbleState(
backgroundColor: Color = DefaultBubbleColor,
cornerRadius: Dp = 8.dp,
alignment: ArrowAlignment = ArrowAlignment.NONE,
arrowShape: ArrowShape = ArrowShape.TRIANGLE_RIGHT,
arrowOffsetX: Dp = 0.dp,
arrowOffsetY: Dp = 0.dp,
arrowWidth: Dp = 14.dp,
arrowHeight: Dp = 14.dp,
arrowRadius: Dp = 0.dp,
drawArrow: Boolean = true,
shadow: BubbleShadow? = null,
)