我在屏幕底部有一个视图(LinearLayout login
),图中红色。我想将此视图的可见性设置为已消失,然后使用LinearLayout sign_in_box
将绿色视图(TranslateAnimation
)从屏幕上移至屏幕中间。为此,我使用此代码:
final LinearLayout sign_in_box = (LinearLayout) findViewById(R.id.sign_up_box);
LinearLayout login = (LinearLayout) findViewById(R.id.start_box);
login.setVisibility(View.GONE);
sign_up_anim = new TranslateAnimation(0,0,height * 75/100,0);
sign_up_anim.setDuration(800);
sign_up_anim.setFillAfter(true);
sign_in_box.setVisibility(View.VISIBLE);
sign_in_box.startAnimation(sign_up_anim);
问题是红色视图消失了,但绿色视图没有显示在屏幕上,直到它通过红色视图应该结束的地方(A点)。因此,我的动画在前几秒没有任何作用,然后视图从A点后面滑入。就像红色视图阻止绿色视图出现一样,即使它的可见性设置为已消失。