setTranslationY搞砸了在另一个视图上滑动的视图上的动画翻译?

时间:2014-12-26 07:23:28

标签: android animation

我使用下面的代码初始化ViewGroup。按下按钮时,我运行this.startAnimation(moveMenu)。 startAnimation将运行视图的无效,因此它将在视图上绘制一些内容。但是,如果我在下面的函数中运行setTranslationY,则视图没有正确显示图形。如果我删除它然后它工作并向下滑动然后再向上。

这不是我想要的行为,我希望viewGroup隐藏在屏幕上方并在按下按钮时向下滑动,然后向上滑动以再次隐藏。所以这就是我需要this.setTranslationY的原因。

void init(Context context) {        
    this.setBackgroundColor(Color.WHITE);
    this.setTranslationY(this.height * -1); // if I remove this the drawing works


    Resources r = this.getContext().getResources();
    loadBitmapArray(0, r.getDrawable(R.drawable.the_drawable)) ;    


    show = new TranslateAnimation(Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, height);
    show.setDuration(1000);
    show.setFillAfter(true);

    hide = new TranslateAnimation(Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, -height);
    hide.setStartOffset(show.getDuration() + 2000);
    hide.setDuration(1000);
    hide.setFillAfter(true);

    moveMenu = new AnimationSet(true);
    moveMenu.addAnimation(show);
    moveMenu.addAnimation(hide);
}

0 个答案:

没有答案