Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
added in version 1.0.0
belongs to Maven artifact androidx.wear:wear:1.0.0-rc01

RoundedDrawable

public class RoundedDrawable
extends Drawable

java.lang.Object
   ↳ android.graphics.drawable.Drawable
     ↳ androidx.wear.widget.RoundedDrawable


Maintains and draws a drawable inside rounded rectangular bounds.

The drawable set by the setDrawable(Drawable) method will be drawn within the rounded bounds specified by Drawable.setBounds(Rect) and setRadius(int) when the draw(Canvas) method is called.

By default, RoundedDrawable will apply padding to the drawable inside to fit the drawable into the rounded rectangle. If clipping is enabled by the setClipEnabled(boolean) method, it will clip the drawable to a rounded rectangle instead of resizing it.

The setRadius(int) method is used to specify the amount of border radius applied to the corners of inner drawable, regardless of whether or not the clipping is enabled, border radius will be applied to prevent overflowing of the drawable from specified rounded rectangular area.

RoundedDrawable can be inflated from XML (supported above API level 24) or constructed programmatically. To inflate from XML, use Context.getDrawable(int) method.

Syntax:

 <?xml version="1.0" encoding="utf-8"?>
 <androidx.wear.widget.RoundedDrawable
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:src="drawable"
   app:backgroundColor="color"
   app:radius="dimension"
   app:clipEnabled="boolean" />

Summary

XML attributes

RoundedDrawable_android_src  
RoundedDrawable_backgroundColor  
RoundedDrawable_clipEnabled  
RoundedDrawable_radius  

Public constructors

RoundedDrawable()

Public methods

void draw(Canvas canvas)
int getAlpha()
int getBackgroundColor()

Returns the background color.

Drawable getDrawable()

Returns the drawable that will be rendered.

int getOpacity()
int getRadius()

Returns the border radius applied when rendering the drawable in pixels.

void inflate(Resources r, XmlPullParser parser, AttributeSet attrs, Resources.Theme theme)
boolean isClipEnabled()

Returns whether the drawable inside is clipped or resized to fit the rounded bounds.

void setAlpha(int alpha)
void setBackgroundColor(int color)

Sets the background color of the rounded drawable.

void setClipEnabled(boolean clipEnabled)

Sets whether the drawable inside should be clipped or resized to fit the rounded bounds.

void setColorFilter(ColorFilter cf)
void setDrawable(Drawable drawable)

Sets the drawable to be rendered.

void setRadius(int radius)

Sets the border radius to be applied when rendering the drawable in pixels.

Protected methods

void onBoundsChange(Rect bounds)

Inherited methods

XML attributes

RoundedDrawable_android_src

Related methods:

RoundedDrawable_backgroundColor

Related methods:

RoundedDrawable_clipEnabled

Related methods:

RoundedDrawable_radius

Related methods:

Public constructors

RoundedDrawable

added in version 1.0.0
public RoundedDrawable ()

Public methods

draw

added in version 1.0.0
public void draw (Canvas canvas)

Parameters
canvas Canvas

getAlpha

public int getAlpha ()

Returns
int

getBackgroundColor

added in version 1.0.0
public int getBackgroundColor ()

Returns the background color.

Returns
int an ARGB color

getDrawable

added in version 1.0.0
public Drawable getDrawable ()

Returns the drawable that will be rendered.

Returns
Drawable Drawable that will be rendered.

getOpacity

added in version 1.0.0
public int getOpacity ()

Returns
int

getRadius

added in version 1.0.0
public int getRadius ()

Returns the border radius applied when rendering the drawable in pixels.

Returns
int radius in pixels

inflate

public void inflate (Resources r, 
                XmlPullParser parser, 
                AttributeSet attrs, 
                Resources.Theme theme)

Parameters
r Resources

parser XmlPullParser

attrs AttributeSet

theme Resources.Theme

Throws
XmlPullParserException
IOException

isClipEnabled

added in version 1.0.0
public boolean isClipEnabled ()

Returns whether the drawable inside is clipped or resized to fit the rounded bounds.

Returns
boolean true if the drawable is clipped, false if it's resized.

setAlpha

added in version 1.0.0
public void setAlpha (int alpha)

Parameters
alpha int

setBackgroundColor

added in version 1.0.0
public void setBackgroundColor (int color)

Sets the background color of the rounded drawable.

Related XML Attributes:

Parameters
color int: an ARGB color

setClipEnabled

added in version 1.0.0
public void setClipEnabled (boolean clipEnabled)

Sets whether the drawable inside should be clipped or resized to fit the rounded bounds. If the drawable is animated, don't set clipping to true as clipping on animated drawables is not supported.

Related XML Attributes:

Parameters
clipEnabled boolean: true if the drawable should be clipped, false if it should be resized.

setColorFilter

added in version 1.0.0
public void setColorFilter (ColorFilter cf)

Parameters
cf ColorFilter

setDrawable

added in version 1.0.0
public void setDrawable (Drawable drawable)

Sets the drawable to be rendered.

Related XML Attributes:

Parameters
drawable Drawable: Drawable to be rendered

setRadius

added in version 1.0.0
public void setRadius (int radius)

Sets the border radius to be applied when rendering the drawable in pixels.

Related XML Attributes:

Parameters
radius int: radius in pixels

Protected methods

onBoundsChange

protected void onBoundsChange (Rect bounds)

Parameters
bounds Rect