Я пытаюсь сделать эффект анимации шкалы с тайм-аутом:
Ширина длинного красочного растрового изображения уменьшается, но не x-масштабируется.
поэтому изображение выглядит не меняющимся, а видимая область уменьшается.
Я не смог найти единственную поддержку обрезания или маскировки ImageView в андроиде.
И мне удалось получить эффект отсечения, окружая ImageView в ViewGroup, например:
<FrameLayout android:id="@+id/shrink_box" ...>
<ImageView android:src="@drawable/still_image" ...>
</FrameLayout>
то изменение ширины shrink_box приведет к обрезанию части файла still_image.
Но я не смог изменить ширину представления плавно. Я попытался изменить LayoutParam.width в applyTransformation(), но получил исключение, оно кажется недопустимым.
Как сделать анимацию, изменяющую ширину представления. ИЛИ существует ли подходящий метод для достижения вышеупомянутого эффекта?
Вы пытаетесь изобрести колесо здесь, просто используйте ProgressBar и установите прогресс, пригодный для вашего изображения. В вашем xml-макете этот стиль ProgressBar позволяет сделать его фактическим, а не колесом
style="@android:style/Widget.ProgressBar.Horizontal"