添加图像作为textview的文本背景

Maz*_*ino 10 java xml android

最近我想用我的新项目做一些艺术性的事情,如标题所示,添加背景图像作为文本的背景,而不是典型的恒定颜色.具体来说,我有一个这个文本的渐变图像.

像这样的东西

在此输入图像描述

通常我会期望一个xml drawable资源文件类型解决方案,但是非常感谢任何简单的解决方案

编辑:

感谢所有着色器解决方案,但是为了问题,只有提供图像背景解决方案的答案才会被接受/给予赏金

Jam*_*ken 6

你可以BitmapShaderTextView油漆上涂上一层.

myTextView.getPaint().setShader(new BitmapShader(myBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
Run Code Online (Sandbox Code Playgroud)

如果您不想使用图像,还有其他类型的着色器.文档在这里.


Int*_*iya 5

着色器是在绘制过程中返回水平颜色范围的对象的基类.Shader的子类安装在Paint中,调用paint.setShader(着色器).之后,使用该绘制绘制的任何对象(位图除外)都将从着色器中获取其颜色.

        Bitmap bitmapObj  = BitmapFactory.decodeResource(getResources(),R.drawable.your_image);
        Shader shaderObj = new BitmapShader(bitmapObj,Shader.TileMode.REPEAT,Shader.TileMode.REPEAT);
        textViewObj.getPaint().setShader(shaderObj);
        textViewObj.setText("hello");
Run Code Online (Sandbox Code Playgroud)

你应该调用正确的Shader.TileMode

你也可以关注

  1. 渐变TextView
  2. Textview渐变文本