Android - как изменить цвет горизонтального индикатора выполнения без потери анимации

Во-первых, это не дубликат вопроса «как изменить цвет индикатора выполнения», он решает мою проблему , но он производит еще один.

Итак, у меня есть горизонтальный индикатор выполнения, я продолжаю писать / обновлять индикатор выполнения сначала, то есть устанавливаю прогресс на один, затем на два (до 100), чтобы имитировать% завершения, он работает хорошо, если я этого не сделаю. изменить цвет. Однако, как вы знаете, на некоторых телефонах цвет ресурса по умолчанию для индикатора выполнения - зеленый, у некоторых - оранжевый, я хочу, чтобы цвет был зеленым на всех устройствах, поэтому в атрибуте индикатора выполнения я установил progressDrawable (предлагается в большинстве ответов на Stackoverflow) к следующему xml файлу

 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
 <corners android:radius="5dip" />
 <gradient
  android:startColor="#4CC417"
  android:centerColor="#4CC417"
  android:centerY="0.75"
  android:endColor="#4CC417"
  android:angle="270"
/>
</shape>

. Если я сделаю это, индикатор выполнения теперь просто отображает весь прогресс (т.е. конечный процент, 100), вы не t видеть анимацию от 0 до любого процента.

  1. Есть ли способ просто изменить цвет индикатора выполнения по умолчанию и при этом сохранить анимацию по умолчанию?

  2. Если это невозможно, означает ли это, что я должен делать свою собственную анимацию? Если да, может ли кто-нибудь дать мне отрывок о том, как создать собственную анимацию, имитирующую индикатор выполнения?

6
задан HitOdessit 8 October 2012 в 13:30
поделиться