gpt4 book ai didi

android - Android 4.4 自定义 ProgressBar 中的神器

转载 作者:行者123 更新时间:2023-11-29 21:25:36 25 4
gpt4 key购买 nike

我的自定义 ProgressBar 有一个奇怪的行为。在 Android <4.4 上,我得到了一个很好的结果。但是在 Android 4.4 上,当 ProgressBar 减少时,我得到了伪像:

颜色在这里定义:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@android:id/background">
<clip>
<shape>
<corners android:radius="0dip" />

<gradient
android:angle="90"
android:centerColor="#004676"
android:centerY="0.75"
android:startColor="#004676" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="0dip" />

<gradient
android:angle="90"
android:endColor="#ee7407"
android:startColor="#ee7407" />
</shape>
</clip>
</item>

在我的自定义 ProgressBar 类中,我将其定义如下:

private void init() {

this.setMax(MAX);
this.setProgress(MAX);
_timer = new CountDownTimer(TIME * 1000, 100) {

public void onTick(long millisUntilFinished) {
decreaseProgress();
}

public void onFinish() {
finished();
}
};
}


private void decreaseProgress() {
this.setProgress(this.getProgress() - 1);
}

Progress upper

有人给我提示吗?提前致谢!

最佳答案

我在 Nexus 5 上遇到了完全相同的问题。

目前我没有时间深入研究源代码并找出不同之处,但我发现如果您每次都在设置进度后立即使进度条无效,则可以抑制此问题。

在你的情况下,它应该是:

private void decreaseProgress() {
this.setProgress(this.getProgress() - 1);
this.postInvalidate();
}

希望这对您有所帮助!

关于android - Android 4.4 自定义 ProgressBar 中的神器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264121/

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