【发布时间】:2015-01-15 22:21:35
【问题描述】:
我想在 TextView 中旋转 drawableLeft。
我试过这段代码:
Drawable result = rotate(degree);
setCompoundDrawables(result, null, null, null);
private Drawable rotate(int degree)
{
Bitmap iconBitmap = ((BitmapDrawable)originalDrawable).getBitmap();
Matrix matrix = new Matrix();
matrix.postRotate(degree);
Bitmap targetBitmap = Bitmap.createBitmap(iconBitmap, 0, 0, iconBitmap.getWidth(), iconBitmap.getHeight(), matrix, true);
return new BitmapDrawable(getResources(), targetBitmap);
}
但它在左侧可绘制的地方给了我一个空白空间。
实际上,即使是最简单的代码也会出现空格:
Bitmap iconBitmap = ((BitmapDrawable)originalDrawable).getBitmap();
Drawable result = new BitmapDrawable(getResources(), iconBitmap);
setCompoundDrawables(result, null, null, null);
这个很好用:
setCompoundDrawables(originalDrawable, null, null, null);
【问题讨论】:
-
你想旋转 Drawable 吗?只需使用 RotateDrawable 类