Name: TextDrawable
Owner: Rocket.Chat
Description: This light-weight library provides images with letter/text like the Gmail app. It extends the Drawable class thus can be used with existing/custom/network ImageView classes. Also included is a fluent interface for creating drawables and a customizable ColorGenerator.
Forked from: amulyakhare/TextDrawable
Created: 2017-10-13 19:18:51.0
Updated: 2018-01-02 18:54:07.0
Pushed: 2017-10-13 20:22:13.0
Size: 692
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This light-weight library provides images with letter/text like the Gmail app. It extends the Drawable
class thus can be used with existing/custom/network ImageView
classes. Also included is a fluent interface for creating drawables and a customizable ColorGenerator
.
sitories{
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
ndencies {
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
geView android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/image_view"/>
Note: Specify width/height for the ImageView
and the drawable
will auto-scale to fit the size.
Drawable drawable = TextDrawable.builder()
.buildRect("A", Color.RED);
eView image = (ImageView) findViewById(R.id.image_view);
e.setImageDrawable(drawable);
Drawable drawable1 = TextDrawable.builder()
.buildRoundRect("A", Color.RED, 10); // radius in px
Drawable drawable2 = TextDrawable.builder()
.buildRound("A", Color.RED);
Drawable drawable = TextDrawable.builder()
.beginConfig()
.withBorder(4) /* thickness in px */
.endConfig()
.buildRoundRect("A", Color.RED, 10);
Drawable drawable = TextDrawable.builder()
.beginConfig()
.textColor(Color.BLACK)
.useFont(Typeface.DEFAULT)
.fontSize(30) /* size in px */
.bold()
.toUpperCase()
.endConfig()
.buildRect("a", Color.RED)
rGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT
enerate random color
color1 = generator.getRandomColor();
enerate color based on a key (same key returns the same color), useful for list/grid views
color2 = generator.getColor("user@gmail.com")
eclare the builder object once.
Drawable.IBuilder builder = TextDrawable.builder()
.beginConfig()
.withBorder(4)
.endConfig()
.rect();
euse the builder specs to create multiple drawables
Drawable ic1 = builder.build("A", color1);
Drawable ic2 = builder.build("B", color2);
geView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image_view"/>
Note: The ImageView
could use wrap_content
width/height. You could set the width/height of the drawable
using code.
Drawable drawable = TextDrawable.builder()
.beginConfig()
.width(60) // width in px
.height(60) // height in px
.endConfig()
.buildRect("A", Color.RED);
eView image = (ImageView) findViewById(R.id.image_view);
e.setImageDrawable(drawable);
Mix-match with other drawables. Use it in conjunction with LayerDrawable
, InsetDrawable
, AnimationDrawable
, TransitionDrawable
etc.
Compatible with other views (not just ImageView
). Use it as background drawable, compound drawable for TextView
, Button
etc.
Use multiple letters or unicode
characters to create interesting tiles.