Я пытаюсь создать мини-индикатор выполнения, который укажет, сколько данных пользователь использовал. Это даже не нужно анимировать, мне просто нужно изменить размер на основе переменной, которую я настроил. Поэтому, когда я загружаю экран, какая часть полосы выполнения заполняется, будет зависеть от переменной, которую я создал на Java.
Мне удалось получить эту работу горизонтально, используя
scale = new ScaleAnimation(0.0f, 1.5f, 1.0f, 1.0f,1.0f, 1.0f);
Это запустит изображение из ничего и растянется до его полного размера, поэтому я могу использовать его как горизонтальную полосу хода, которая великолепна.
Теперь я подумал бы, что делать это вертикально вместо этого было бы простым делом просто изменить значение fromY на 0 и toY на новый размер, который я хочу. Однако, когда я это делаю, изменяя значение от Y до 0.0f и toY до 2.0f, изображение фактически перемещается и растягивается в то же время, а не растягивается. По какой-то причине изображение перемещается по позиции. Он начинается выше, чем когда я позиционирую использование XML, и перемещается в исходное положение и растягивается до новой установленной мной шкалы.
Код, который я использую, чтобы попытаться растянуть его по вертикали
scale = new ScaleAnimation(1.0f, 1.0f, 0.0f, 2.0f, 1.0f, 1.0f);
Так кто-то может объяснить, почему он растягивается горизонтально, но когда я пытаюсь растянуть его по вертикали, он внезапно перемещается и растягивается одновременно.
Был бы очень благодарен за любую помощь.
Я ценю, что вы решили проблему анимации, о которой вы упомянули, но на основании того, что вы говорите, что вам даже не нужна панель для анимации, класс ClipDrawable
может сделать вашу жизнь проще. Вы можете определить один в макете xml, а затем установить уровень клипа из своего кода, который будет зажимать данную выделенную на данную сумму.
Проверьте это, чтобы узнать больше о том, как его использовать:
http://developer.android.com/guide/topics/resources/drawable-resource.html#Clip
Надеюсь, что это поможет.