gpt4 book ai didi

Android LinearGradient 颜色插值器在 Android 4.1.2 上不起作用

转载 作者:行者123 更新时间:2023-11-30 01:24:22 25 4
gpt4 key购买 nike

我已经为自定义 View 实现了垂直 LinearGradient。它在大多数设备上运行良好,但我们注意到在运行 Android 4.1.2 的 Galaxy Note 2 上,渐变在颜色之间的过渡并不平滑(颜色插值),但每种颜色只是在某个点开始。

我正在像这样构造渐变

    ViewCompat.setLayerPaint(myView, null);
Paint paint = myView.getPaintRender();
paint.setDither(true);

int height = myView.getHeight();

// create a gradient background paint which will be later on clipped
mColors = generateColorsRage(myDTOProvidingData);
float[] percentages = generateColorPercentages();

LinearGradient linearGradient = new LinearGradient(0, 0, 0, height, mColors, percentages, Shader.TileMode.CLAMP);

paint.setShader(linearGradient);

谁能给我指明方向?

谢谢!

最佳答案

我终于找到了解决方案。Android 4.1.2 上的 LinearGradient 类似乎有一种奇怪的处理百分比的方式。如果百分比没有至少一个等于 1f 的值,颜色插值似乎不起作用。

为了解决这个问题,我确保 percentages[] 的最后一个值设置为 1f 并且 mColors[]percentages[] 的长度相同,这样才能正常工作。

关于Android LinearGradient 颜色插值器在 Android 4.1.2 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com