TextDrawable alternatives and similar packages
Based on the "ImageView Widget" category.
Alternatively, view TextDrawable alternatives based on common mentions on social networks and blogs.
-
PhotoView
Implementation of ImageView for Android that supports zooming, by various touch gestures. -
android-gpuimage
Android filters based on OpenGL (idea from GPUImage for iOS) -
subsampling-scale-image-view
Android library (AAR). Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc. -
TouchImageView
Adds touch functionality to Android ImageView. -
android-shape-imageview
Custom shaped android imageview components -
GestureViews
ImageView and FrameLayout with gestures control and position animation -
ImageViewZoom
Android ImageView widget with zoom and pan capabilities -
android-smart-image-view
Android ImageView replacement which allows image loading from URLs or contact address book, with caching -
gesture-imageview
Implements pinch-zoom, rotate, pan as an ImageView for Android 2.1+ -
GifImageView
Android ImageView that handles animated GIF images -
CircularImageView
Custom view for circular images in Android while maintaining the best draw performance -
SelectableRoundedImageView
Android ImageView that supports different radii on each corner. -
cropimage
Replacement for deprecated official Android crop image function -
DrawerArrowDrawable
Visual back-port of the rotating drawer-to-arrow drawable from Android L -
MovingImageView
Custom ImageView for moving image around the screen (Android) -
android-cropimage
CropImage Activity from Gallery.apk packaged as a reusable Android library (4.0 and up). -
CropImageView
Crop and Rounded Corners added to an ImageView. -
gif-movie-view
Android View widget for displaying GIF animations. -
PolygonImageView
Custom ImageView for android with polygon shape (Android) -
BadgedImageview
BadgedImageview allow you show a badge into a Imageview. -
ByakuGallery
An open source Android library that allows the visualization of large images with gesture capabilities -
DexMovingImageView
DMIV aims to provide a flexible and customizable instrument for automated images moving on display. It provides scroll, gyroscope or time based moving. But you can create your own evaluator. -
Music Cover View
Subclass of ImageView that 'morphs' into a circle shape and can rotates. Useful to be used as album cover in Music apps. :dvd::notes: -
avatar-android
Rounded and Squared Avatar for Android Applications -
FlickableView
Flickable ImageView for Android. It's like a view of twitter's detail image. -
Android Parallax Image View
Create parallax and any other transformation effects on scrolling android ImageView -
AvatarImageGenerator
Android library to generate image avatar from the first letter of a username. Letter avatar like Gmail Android best practice -
NoiseView
Android library written in kotlin that add a noise effect to image.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of TextDrawable or a related project?
README
TextDrawable
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
.
How to use
Import with Gradle:
repositories{
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
}
dependencies {
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
}
1. Create simple tile:
<ImageView 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.
TextDrawable drawable = TextDrawable.builder()
.buildRect("A", Color.RED);
ImageView image = (ImageView) findViewById(R.id.image_view);
image.setImageDrawable(drawable);
2. Create rounded corner or circular tiles:
TextDrawable drawable1 = TextDrawable.builder()
.buildRoundRect("A", Color.RED, 10); // radius in px
TextDrawable drawable2 = TextDrawable.builder()
.buildRound("A", Color.RED);
3. Add border:
TextDrawable drawable = TextDrawable.builder()
.beginConfig()
.withBorder(4) /* thickness in px */
.endConfig()
.buildRoundRect("A", Color.RED, 10);
4. Modify font style:
TextDrawable drawable = TextDrawable.builder()
.beginConfig()
.textColor(Color.BLACK)
.useFont(Typeface.DEFAULT)
.fontSize(30) /* size in px */
.bold()
.toUpperCase()
.endConfig()
.buildRect("a", Color.RED)
5. Built-in color generator:
ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT
// generate random color
int color1 = generator.getRandomColor();
// generate color based on a key (same key returns the same color), useful for list/grid views
int color2 = generator.getColor("[email protected]")
// declare the builder object once.
TextDrawable.IBuilder builder = TextDrawable.builder()
.beginConfig()
.withBorder(4)
.endConfig()
.rect();
// reuse the builder specs to create multiple drawables
TextDrawable ic1 = builder.build("A", color1);
TextDrawable ic2 = builder.build("B", color2);
6. Specify the width / height:
<ImageView 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.
TextDrawable drawable = TextDrawable.builder()
.beginConfig()
.width(60) // width in px
.height(60) // height in px
.endConfig()
.buildRect("A", Color.RED);
ImageView image = (ImageView) findViewById(R.id.image_view);
image.setImageDrawable(drawable);
7. Other features:
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 forTextView
,Button
etc.Use multiple letters or
unicode
characters to create interesting tiles.