สมมติว่าฉันมี linearLayout แนวตั้งด้วย:
[v1]
[v2]
โดยค่าเริ่มต้น v1 มีให้เห็น = 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 ไหม?