Я хочу перестроить (возможно, мне даже не нужно) нативный индикатор прогресса Android и показать его в виде значка для элемента списка. Я последовал этому примеру и привел к высокой производительности анимации еды, которая также не соответствует родному счетчику. Код имеет как «LinearInterpolator», который, кажется, вызывает эти проблемы.
Теперь я сделал свой собственный Интерполярный и выполнил одну из моих потребностей: это квантование шагов в 12.
Однако у меня все еще есть огромные проблемы с производительностью. UiThread теперь не позволяет моим фоновым потокам запускать , которые предназначены для загрузки и анализа данных. Обратите внимание на то, что я показываю несколько блесен в списке. Я также попытался установить интерполятор как переменную класса в моем listAdapter. Таким образом, все listViews могут использовать этот интерполятор.
if(imageViewIcon != null) {
RotateAnimation anim = new RotateAnimation(0f, 360f, 51f, 51f);
anim.setInterpolator(new Interpolator() {
@Override
public float getInterpolation( float input ) {
return (float) Math.floor((double)input*10)/12;
}
});
// anim
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(1000);
// Start animating the image
imageViewSpinner.startAnimation(anim);
}
Обновление
Наконец-то я нашел ProgressBarWidget, который работает точно так же, как и я. Тем не менее, он все еще не очень производительный. (Хотя лучше)