小编Nik*_*dia的帖子

如何在Android中的画布上绘制文本的不同部分?

我正在尝试重新创建以下动画:

D3液体填充量规

动画GIF可以在这里访问:https://github.com/ugomeda/d3-liquid-fill-gauge

在此动画中,随着波浪的上升和下降,文本的颜色会发生变化:波浪上方文本的部分为深蓝色,波浪下方的部分为浅蓝色.有没有办法在Android中实现这个?

我完全实现了动画的其余部分,如上图所示:

我实施的液体填充量规

这是我在画布上绘制的代码:

public void createShader(){

    mDefaultAngularFrequency = 2.0f * Math.PI / DEFAULT_WAVE_LENGTH_RATIO / getWidth();
    mDefaultAmplitude = (getHeight()) * DEFAULT_AMPLITUDE_RATIO;
    mDefaultWaterLevel = (getHeight())  * DEFAULT_WATER_LEVEL_RATIO;
    mDefaultWaveLength = getWidth();

    Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);

    final int endX = getWidth() + 1;
    final int endY = getHeight() + 1;

    float[] waveY = new float[endX];

    for (int beginX = 0; beginX < endX; beginX++) {
        double wx = beginX * mDefaultAngularFrequency;
        float …
Run Code Online (Sandbox Code Playgroud)

string android colors android-canvas

5
推荐指数
0
解决办法
683
查看次数

标签 统计

android ×1

android-canvas ×1

colors ×1

string ×1