Я использую objectAnimator для анимации кнопки снизу вверх в Android. Теперь я использую код ниже
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(button,"translationY",0,440);
transAnimation.setDuration(440);
transAnimation.start();
Я также пробовал с примером кода ниже. Но проблема существует
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(loginLayout, "translationY",0f,0.8f);
transAnimation.setDuration(480);
transAnimation.start();
Он отлично работает в устройствах с большим экраном. Но когда дело доходит до устройств с небольшим экраном, он отключается от экрана. Я хочу оставить его в верхней части экрана независимо от разных размеров экрана. Я думаю, что я должен давать значения в процентах (например, от 0% до 100% или от 0 до 100% р). Поэтому мой вопрос заключается в том, как давать значения в процентах в объектеAnimator в Android. Я также заметил, что этот объектAnimator вводится только в HoneyComb. Итак, есть ли библиотеки с обратной совместимостью для запуска в низких версиях. Может ли кто-нибудь помочь мне найти решение для этого.
Я также пробовал расширять View и записывать getter и setter для свойства в offset()
. Тем не менее он не перемещается полностью в верхнюю часть экрана. Вот код, который я использовал.
@SuppressLint("NewApi") public float getXFraction()
{
int width = context.getWindowManager().getDefaultDisplay().getHeight();
return (width == 0) ? 0 : (getY());
}
@SuppressLint("NewApi") public void setXFraction(float xFraction) {
int width = context.getWindowManager().getDefaultDisplay().getWidth();
setY((width > 0) ? (width) : 0);
}
Спасибо inAdvance