public final class DrawableUtils
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static android.graphics.Bitmap |
createBitmapFromView(android.view.View view) |
static android.graphics.Bitmap |
createBitmapFromView(android.view.View view,
float scale)
从一个view创建Bitmap。
注意点:绘制之前要清掉 View 的焦点,因为焦点可能会改变一个 View 的 UI 状态。
来源:https://github.com/tyrantgit/ExplosionField
|
static android.graphics.Bitmap |
createBitmapFromView(android.view.View view,
int leftCrop,
int topCrop,
int rightCrop,
int bottomCrop)
从一个view创建Bitmap。把view的区域截掉leftCrop/topCrop/rightCrop/bottomCrop
|
static android.graphics.Bitmap |
createBitmapFromWebView(android.webkit.WebView view) |
static android.graphics.Bitmap |
createBitmapFromWebView(android.webkit.WebView view,
float scale) |
static android.graphics.Bitmap |
createBitmapSafely(int width,
int height,
android.graphics.Bitmap.Config config,
int retryCount)
安全的创建bitmap。
如果新建 Bitmap 时产生了 OOM,可以主动进行一次 GC - System.gc(),然后再次尝试创建。
|
static android.graphics.drawable.GradientDrawable |
createCircleGradientDrawable(int startColor,
int endColor,
int radius,
float centerX,
float centerY)
创建一张渐变图片,支持韵脚。
|
static android.graphics.drawable.BitmapDrawable |
createDrawableWithSize(android.content.res.Resources resources,
int width,
int height,
int cornerRadius,
int filledColor)
创建一张指定大小的纯色图片,支持圆角
|
static android.graphics.drawable.LayerDrawable |
createItemSeparatorBg(int separatorColor,
int bgColor,
int separatorHeight,
boolean top)
动态创建带上分隔线或下分隔线的Drawable。
|
static android.graphics.Bitmap |
drawableToBitmap(android.graphics.drawable.Drawable drawable)
由一个drawable生成bitmap
|
static android.graphics.drawable.Drawable |
getVectorDrawable(android.content.Context context,
int resVector) |
static android.graphics.ColorFilter |
setDrawableTintColor(android.graphics.drawable.Drawable drawable,
int tintColor)
设置Drawable的颜色
这里不对Drawable进行mutate(),会影响到所有用到这个Drawable的地方,如果要避免,请先自行mutate()
|
static android.graphics.Bitmap |
vectorDrawableToBitmap(android.content.Context context,
int resVector) |
public static android.graphics.Bitmap createBitmapFromView(android.view.View view,
float scale)
view - 传入一个 View,会获取这个 View 的内容创建 Bitmap。scale - 缩放比例,对创建的 Bitmap 进行缩放,数值支持从 0 到 1。public static android.graphics.Bitmap createBitmapFromWebView(android.webkit.WebView view)
public static android.graphics.Bitmap createBitmapFromWebView(android.webkit.WebView view,
float scale)
public static android.graphics.Bitmap createBitmapFromView(android.view.View view)
public static android.graphics.Bitmap createBitmapFromView(android.view.View view,
int leftCrop,
int topCrop,
int rightCrop,
int bottomCrop)
public static android.graphics.Bitmap createBitmapSafely(int width,
int height,
android.graphics.Bitmap.Config config,
int retryCount)
width - Bitmap 宽度。height - Bitmap 高度。config - 传入一个 Bitmap.Config。retryCount - 创建 Bitmap 时产生 OOM 后,主动重试的次数。public static android.graphics.drawable.BitmapDrawable createDrawableWithSize(android.content.res.Resources resources,
int width,
int height,
int cornerRadius,
int filledColor)
resources - Resources对象,用于创建BitmapDrawablewidth - 图片的宽度height - 图片的高度cornerRadius - 图片的圆角,不需要则传0filledColor - 图片的填充色public static android.graphics.ColorFilter setDrawableTintColor(android.graphics.drawable.Drawable drawable,
int tintColor)
public static android.graphics.Bitmap drawableToBitmap(android.graphics.drawable.Drawable drawable)
public static android.graphics.drawable.GradientDrawable createCircleGradientDrawable(int startColor,
int endColor,
int radius,
float centerX,
float centerY)
startColor - 渐变开始色endColor - 渐变结束色radius - 圆角大小centerX - 渐变中心点 X 轴坐标centerY - 渐变中心点 Y 轴坐标public static android.graphics.drawable.LayerDrawable createItemSeparatorBg(int separatorColor,
int bgColor,
int separatorHeight,
boolean top)
separatorColor - 分割线颜色。bgColor - Drawable 的背景色。top - true 则分割线为上分割线,false 则为下分割线。public static android.graphics.drawable.Drawable getVectorDrawable(android.content.Context context,
int resVector)
public static android.graphics.Bitmap vectorDrawableToBitmap(android.content.Context context,
int resVector)