Skip to content

Android library to generate image avatar from the first letter of a username. Letter avatar like Gmail Android best practice

License

Notifications You must be signed in to change notification settings

AmosKorir/AvatarImageGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0c31fd · Jun 26, 2022

History

41 Commits
Oct 25, 2021
Oct 25, 2021
Oct 25, 2021
Oct 25, 2021
Jun 3, 2020
Jan 23, 2020
Sep 1, 2020
Jun 26, 2022
Jun 3, 2020
Jan 23, 2020
Jan 23, 2020
Jan 23, 2020
Jan 23, 2020

Repository files navigation

AvatarImageGenerator

CircleCI Download ](https://bintray.com/skyways/AvatarGenerator/AvatarGenerator/1.4/link)

Generate first letter avatar Image like gmail's contact avatar. It generates an drawable that can be be set to an ImageView.

Installation

Note: Before you can install AvatarImageGenerator you must first add JitPack as a maven repository in settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

Add the Following to your gradle file.

implementation 'com.github.amoskorir:avatarimagegenerator:VERSION'

Usage

New Builder pattern

 AvatarGenerator.AvatarBuilder(context)
                .setLabel(users[position].login)
                .setAvatarSize(120)
                .setTextSize(30)
                .toSquare()
                .toCircle()
                .setBackgroundColor(Color.RED)
                .build()

Supports

Using glide or Picasso you can set the drawable to an imageView as a placeholder.

  1. Picasso
  2. Glide

Picasso

 Picasso.get()
    .load("https://brokenfortest")
    .resize(50, 50)
    .placeholder(AvatarGenerator.avatarImage(this, 200, AvatarConstants.CIRCLE, "Android"))
    .into(imageView2)

Glide

 Glide.with(this)
    .load("http://brokenfortest")
    .placeholder(AvatarGenerator.avatarImage(this, 200, AvatarConstants.CIRCLE, "Kotjav"))
    .into(imageView3)

Without any Library

imageView.setImageDrawable(
    AvatarGenerator.avatarImage(
      this,
      200,
      AvatarConstants.RECTANGLE,
      "Skyways"
    )

Shape

  1. Circle
  2. Square
.toSquare(),
.toCircle()