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
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 | |
---|---|
Public constructors
RoundedDrawable
public RoundedDrawable ()
Public methods
getAlpha
public int getAlpha ()
Returns | |
---|---|
int |
getBackgroundColor
public int getBackgroundColor ()
Returns the background color.
Returns | |
---|---|
int |
an ARGB color |
getDrawable
public Drawable getDrawable ()
Returns the drawable that will be rendered.
Returns | |
---|---|
Drawable |
Drawable that will be rendered.
|
getOpacity
public int getOpacity ()
Returns | |
---|---|
int |
getRadius
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
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
public void setAlpha (int alpha)
Parameters | |
---|---|
alpha |
int |
setBackgroundColor
public void setBackgroundColor (int color)
Sets the background color of the rounded drawable.
Parameters | |
---|---|
color |
int : an ARGB color
R.attr.backgroundColor
|
setClipEnabled
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.
Parameters | |
---|---|
clipEnabled |
boolean : true if the drawable should be clipped, false if it
should be resized.
R.attr.clipEnabled
|
setDrawable
public void setDrawable (Drawable drawable)
Sets the drawable to be rendered.
Parameters | |
---|---|
drawable |
Drawable : Drawable to be rendered
R.attr.src
|
setRadius
public void setRadius (int radius)
Sets the border radius to be applied when rendering the drawable in pixels.
Parameters | |
---|---|
radius |
int : radius in pixels
R.attr.radius
|