я сделать анимацию для page
в ViewPager
с использованием метода transformPage
:Гладкая анимация для зрения
Проблема: мне нужно исправить значение для scale
(от 0,8 => 1, я имею в виду : 0.81, 0.82, 0.83 ...... 0.89.0.90, ... 0.99) переменная в зависимости от позиции (от 0.5 до 1), чтобы получить плавную анимацию от малого до большого.
else if (position >= 0.5F && position <= 1F) {
...
scale = ??;
ViewCompat.setScaleX(page, scale);
ViewCompat.setScaleY(page, 0.85F);
}
, что я пытался до сих пор:
scale = (float) (0.8 + ((10*position)/100)); ==> not correct
также я попытался несколько else if
«ы, как:
else if (position >= 0.5F && position <= 0.625F) {
scale = .97
}
else if (position >= 0.625F && position <= 0.75F) {
scale = .9
}
else if (position >= 0.75F && position <= 0.875F) {
scale = .85
}
else if (position >= 0.875F && position <= 1.0F) {
scale = .80
}
==> результат так лага.
пожалуйста, помогите, спасибо
- Update: с помощью @RadekJ ответ я получаю обратный результат: от 1 до 0,8:
да это правильно –
И почему scaleY равно 0.85F. И только для моих знаний, почему вы пишете ViewCompat.setScale. Вы также можете написать page.setScaleY? –
Мне просто нужно setScaleX, вид занимает всего 85% экрана по шкале Y –