Скажімо, у мене вертикальний лінійний макет із:
[v1]
[v2]
За замовчуванням v1 має visibily = GONE. Я хотів би показати v1 із розширенням анімації та одночасно натиснути v2.
Я спробував щось подібне:
Animation a = new Animation()
{
int initialHeight;
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final int newHeight = (int)(initialHeight * interpolatedTime);
v.getLayoutParams().height = newHeight;
v.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
initialHeight = height;
}
@Override
public boolean willChangeBounds() {
return true;
}
};
Але з цим рішенням у мене замигається, коли починається анімація. Я думаю, що це спричинено тим, що v1 відображає повний розмір до того, як анімація буде застосована.
З JavaScript, це один рядок jQuery! Будь-який простий спосіб зробити це за допомогою Android?