Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中绘制一个具有2种颜色的角色_Java_Android_Textview_Spannable - Fatal编程技术网

Java 在Android中绘制一个具有2种颜色的角色

Java 在Android中绘制一个具有2种颜色的角色,java,android,textview,spannable,Java,Android,Textview,Spannable,我正在尝试在Textview中实现卡拉OK文本动画。大概是这样的: 为了使其平滑,我想找到一种方法来绘制一个双色字符(如图像中的s) 我找到了,但是那里的半色调没有画任何东西 有什么办法可以实现吗 p/S:我想到了LinearGradient,但这段代码只设置了垂直梯度 class HalfColorSpan extends CharacterStyle implements UpdateAppearance { private final static String TAG = "D

我正在尝试在Textview中实现卡拉OK文本动画。大概是这样的:

为了使其平滑,我想找到一种方法来绘制一个双色字符(如图像中的
s

我找到了,但是那里的半色调没有画任何东西

有什么办法可以实现吗

p/S:我想到了LinearGradient,但这段代码只设置了垂直梯度

class HalfColorSpan extends CharacterStyle implements UpdateAppearance {
    private final static String TAG = "DrawableSpanTest.HalfColorSpan";
    @Override
    public void updateDrawState(TextPaint paint) {
        paint.setStyle(Paint.Style.FILL);
        Shader shader = new LinearGradient(0, 0, 0, 80, new int[]{PROCESSED_COLOR, UNPROCESSED_COLOR}, new float[]{0, 1},
                Shader.TileMode.CLAMP);
        paint.setShader(shader);
    }
}