Android设置重复文字水印背景的方法
更新时间:2022年06月29日 14:51:27 作者:小北的博客
这篇文章主要为大家详细介绍了Android设置重复文字水印背景的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Android设置重复文字水印背景的具体代码,供大家参考,具体内容如下
效果如图:

自定义Drawable :
/**
* Created by Owen Chan
* On 2017-07-05.
*/
public class WaterMarkBg extends Drawable {
private Paint paint = new Paint();
private String logo = "SoYoung";
public WaterMarkBg(String logo) {
this.logo = logo;
}
@Override
public void draw(@NonNull Canvas canvas) {
int width = getBounds().right;
int height = getBounds().bottom;
canvas.drawColor(Color.parseColor("#F3F5F9"));
paint.setColor(Color.parseColor("#AEAEAE"));
paint.setAntiAlias(true);
paint.setTextSize(30);
canvas.save();
canvas.rotate(-30);
float textWidth = paint.measureText(logo);
int index = 0;
for (int positionY = height / 10; positionY <= height; positionY += height / 10) {
float fromX = -width + (index++ % 2) * textWidth;
for (float positionX = fromX; positionX < width; positionX += textWidth * 2) {
canvas.drawText(logo, positionX, positionY, paint);
}
}
canvas.restore();
}
@Override
public void setAlpha(@IntRange(from = 0, to = 255) int alpha) {
}
@Override
public void setColorFilter(@Nullable ColorFilter colorFilter) {
}
@Override
public int getOpacity() {
return PixelFormat.UNKNOWN;
}
}代码中的设置:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.text).setBackground(new WaterMarkBg("Owen Chan"));
}
}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android中封装RecyclerView实现添加头部和底部示例代码
这篇文章主要给大家介绍了关于Android中封装RecyclerView实现添加头部和底部的相关资料,网上这方面的资料很多,但都不是自己需要的,索性自己写一个分享出来供大家参考学习,需要的朋友们下面随着小编一起来学习学习吧。2017-08-08
详谈Android动画效果translate、scale、alpha、rotate
下面小编就为大家带来一篇详谈Android动画效果translate、scale、alpha、rotate。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-01-01


最新评论