【求助】安卓canvas 和 drawable 的问题 ,请大神帮帮小弟!

ljx347095237 2017-03-10 05:26:56
最近要做一个带文字水印的背景,如图
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设置的问题,但是找不出来到底哪里出了问题,请大神帮忙解答一下!谢谢
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljx347095237 2017-03-12
  • 打赏
  • 举报
回复
顶起来,大神帮帮忙啊
ljx347095237 2017-03-10
  • 打赏
  • 举报
回复
自己顶起来!

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧