Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TranslateAnimation在动画结束之前隐藏视图_Android - Fatal编程技术网

Android TranslateAnimation在动画结束之前隐藏视图

Android TranslateAnimation在动画结束之前隐藏视图,android,Android,我使用TranslateAnimation在另一个视图的顶部底部显示一个片段。问题是,在动画结束之前,后视图是隐藏的,我需要看到视图,直到动画结束 这是我的代码: buttonLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { hideFragment(); } }); WatchDetails.fourthLayout

我使用TranslateAnimation在另一个视图的顶部底部显示一个片段。问题是,在动画结束之前,后视图是隐藏的,我需要看到视图,直到动画结束

这是我的代码:

buttonLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        hideFragment();
    }
});
WatchDetails.fourthLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (WatchDetails.showFrag == false) {
            showFragment();
        }

    }
});

public void showFragment() {
    System.out.println("showFragment");
    mAnimation = new TranslateAnimation(0, 0, 800, 0);
    mAnimation.setDuration(500);
    mAnimation.setFillAfter(true);
    mAnimation.setRepeatCount(0);
    mAnimation.setZAdjustment(-1);

    mAnimation.setAnimationListener(new Animation.AnimationListener() {

        public void onAnimationStart(Animation animation) {

        }

        public void onAnimationRepeat(Animation animation) {}

        public void onAnimationEnd(Animation animation) {
        }
    });

    WatchDetails.frag.startAnimation(mAnimation);

    firstLayout.setVisibility(View.GONE);
    WatchDetails.frag.setVisibility(View.VISIBLE);
    WatchDetails.showFrag = true;
}

public void hideFragment() {
    System.out.println("hideFragment");
    mAnimation = new TranslateAnimation(0, 0, 0, 720);
    mAnimation.setDuration(500);
    mAnimation.setFillBefore(true);
    mAnimation.setRepeatCount(0);

    firstLayout.setVisibility(View.VISIBLE);
    secondLayout.setVisibility(View.VISIBLE);
    thirdLayout.setVisibility(View.VISIBLE);
    fifthLayout.setVisibility(View.VISIBLE);

    WatchDetails.frag.startAnimation(mAnimation);

    getView().setVisibility(View.GONE);
    origButtonLayout.setVisibility(View.VISIBLE);
    WatchDetails.showFrag = false;
}