Components
Avatar
A graphical representation of an object or entity
Component Status Details
Status component contains a list of checks and completeness that has been tested and owned by each component
We don't use color as the only visual tool to convey information.
The component’s structure and properties include relevant options such as variant, style, size, orientation, optional iconography, decorations, selection, error state, etc. The title is the component name that uses the frame base component template. The base component name contains: .Base & "Component Name" if there is more than one. All component properties use the Legion foundation.
We can change all the parts that are connected to the component base. The inside of the base component remains connected to the master component. All variant options are not damaged when we change from one to another. Overriding changes to components will not reset other variants.
Component's already has component specs documentation.
An avatar is a graphical representation of an object or entity, such as a person or organization.
Variants
Legion has 6 variants of Avatar :
- Avatar with Badge Dot
- Avatar with Badge Icon
- Avatar with Badge Number
- Avatar Image Url
- Avatar Initial Text
- Avatar Image Icon
and also have three size :
- Avatar Large
- Avatar Medium
- Avatar Small
Usage
To implement Avatar, you can follow the steps below.
Avatar with Badge Dot
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeDot"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge dot
...binding.lamAvatarBadgeDot.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar with Badge Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeIcon"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge icon
...binding.lamAvatarBadgeIcon.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)color = ContextCompat.getColor(context, android.R.color.holo_green_dark)
Avatar with Badge Number
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeNumber"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge number
...binding.lamAvatarBadgeNumber.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeNumberMedium(context).apply {number = 10color = ContextCompat.getColor(context, android.R.color.holo_green_dark)
Avatar Image Url
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarImageUrl"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge url
...binding.lamAvatarImageUrl.apply {avatar = LgnAvatarImageMedium(context).apply {loadImage(imageUrl = "https://i.pravatar.cc/40",placeholder = ContextCompat.getDrawable(context, R.drawable.ic_placeholder_avatar))}badge = LgnAvatarBadgeMedium(context).apply {
Avatar Initial Text
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarInitialText"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Image Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarIcon"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarIcon"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Large
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarLargeandroid:id="@+id/lamAvatarLarge"... />
Define widget in your fragment/activity.
...binding.lamAvatarLarge.apply {avatar = LgnAvatarInitialLarge(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeLarge(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar Medium
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarMedium"... />
Define widget in your fragment/activity.
...binding.lamAvatarMedium.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar Small
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarSmallandroid:id="@+id/lamAvatarSmall"... />
Define widget in your fragment/activity.
...binding.lamAvatarSmall.apply {avatar = LgnAvatarInitialSmall(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeSmall(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}