【求助】安卓canvas 和 drawable 的问题 ,请大神帮帮小弟!
最近要做一个带文字水印的背景,如图
;
以上是我的写法,new一个drawable在里面写上字,然后将canvas逆时针转30度,最后设置给控件背景;
在安卓5.0(我猜测的)以上没有问题,但是在安卓5.0一下的手机上发现,把生成的drawable设置给控件后,控件也跟着一起逆时针转了30度,我感觉是canvas设置的问题,但是找不出来到底哪里出了问题,请大神帮忙解答一下!谢谢
;final Paint paint = new Paint();
paint.setColor(textColor);
paint.setTextSize(size);
final int heightPixels = context.getResources().getDisplayMetrics().heightPixels;
final int widthPixels = context.getResources().getDisplayMetrics().widthPixels;
Drawable drawable = new Drawable() {
int spacing = 170;
@Override
public void setColorFilter(ColorFilter colorFilter)
{
}
@Override
public void setAlpha(int alpha)
{
}
@Override
public int getOpacity()
{
return 0;
}
@Override
public void draw(Canvas canvas)
{
spacing = AndroidUtil.dip2px(context, 85);
// 一个字的宽加间隔
int width = (spacing + (size * 3));
// 一个字的高加间隔
int height = (30 + size);
// 一行写多少个字
int hCount = widthPixels / width;
// 写多少列
int vCount = heightPixels / height;
// canvas.translate(-100, 100);
canvas.rotate(-30);
for (int i = 0; i < vCount; i++)
{
int z = i % 2;
for (int j = 0; j < hCount; j++)
{
canvas.drawText(text, (z * width / 2) + width * j , height * i, paint);
}
}
}
};
return drawable;以上是我的写法,new一个drawable在里面写上字,然后将canvas逆时针转30度,最后设置给控件背景;
在安卓5.0(我猜测的)以上没有问题,但是在安卓5.0一下的手机上发现,把生成的drawable设置给控件后,控件也跟着一起逆时针转了30度,我感觉是canvas设置的问题,但是找不出来到底哪里出了问题,请大神帮忙解答一下!谢谢
...全文
相关推荐
android 画图 bitmap drawable canvas paint
android 画图 bitmap drawable canvas paint
Android中区别Drawable Bitmap Canvas Paint
本文主要介绍Android中Drawable Bitmap Canvas Paint 之间的区别,这里对这几个概念做出详细介绍,开发Android游戏的朋友可以参考下
Android Drawable Bitmap 相互转换
文档中描述了Drawable Bitmap 几种转换方法供初学者使用。方法都是经过实践验证的。
Android 将本地资源图片转换成Drawable,进行设置大小操作
主要介绍了Android 将本地资源图片转换成Drawable,进行设置大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Android App开发中将View或Drawable转为Bitmap的方法
主要介绍了Android App开发中将View或Drawable转为Bitmap的方法,其中View转换时作者特别提到了getDrawingCache=null问题的解决方法,需要的朋友可以参考下


