Compose Bubble
v1.1.0
Chat / Speech Bubble Largeth Différent flèches, arrière-plan, propriétés de l'ombre pour créer des bulles de chat comme WhatsApp, Telegram ou d'autres applications de messagerie ou des flèches avec des flèches en bas pour créer des informations.
Pour mettre un projet GIT dans votre construction:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.SmartToolFactory:Compose-Bubble:Tag'
}
Modifier.bubble , ou création de la fonction debbler pour créer cela comme Shape ou BubbleLayout que dans une démo telle que
@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()
}
}
Il y a 4 démos pour tester les bulles .
DemoFullChat est un petit échantillon de chat qui affiche la flèche sur le premier message de l'expéditeur ou de l'utilisateurDemoDynamicSize est destiné à changer les bulles dynamiquement pour observer les changements en temps réel. Vous pouvez ajouter vos bulles personnalisées pour tester les modifications dynamiques.DemoBubbles affiche quelques échantillons de bullesDemoSimpleLayout est pour démontrer Layout Constraints.offset(x,y) et Contrainsts.constrainWidth Placeable| Chat complet z | Taille dynamique | Échantillons de bulles |
|---|---|---|
![]() | ![]() | ![]() |
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,
)
Pour créer un bubblestate pour modifier la bulle pour être dessinée, utilisez l'une des surcharges des fonctions Remember
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,
)