Giả sử tôi có một linearLayout dọc với:
[v1]
[v2]
Theo mặc định v1 có visibily = Gone. Tôi muốn hiển thị v1 với hình ảnh động mở rộng và đẩy xuống v2 cùng một lúc.
Tôi đã thử một cái gì đó như thế này:
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;
}
};
Nhưng với giải pháp này, tôi có một cái chớp mắt khi hoạt hình bắt đầu. Tôi nghĩ đó là do v1 hiển thị kích thước đầy đủ trước khi hình động được áp dụng.
Với javascript, đây là một dòng của jQuery! Bất kỳ cách đơn giản để làm điều này với Android?