在android中向下滑动视图

efl*_*ing 3 animation android list slide

我想在我的android应用程序中有一个按钮触发表单的向下滑动视图.我希望在屏幕顶部有一个视图,屏幕底部有一个列表,我希望在单击按钮时,两者之间会出现向下滑动窗体视图.

我没有问题显示视图,但似乎无法将其从隐藏设置为动画显示在屏幕上.

关于这如何工作的任何想法?

小智 8

public void doSlideDown(View view){
    RelativeLayout myView = (RelativeLayout)findViewById(R.id.my_view);
        addListingView.setVisibility(myView.VISIBLE);

        Animation slideDown = setLayoutAnim_slidedown(); 
        myView.startAnimation(slideDown);
}

public void doSlideUp(View view){
    RelativeLayout myView = (RelativeLayout)findViewById(R.id.my_view);

        Animation slideUp = setLayoutAnim_slideup(); 
        myView.startAnimation(slideUp);

}

public Animation setLayoutAnim_slidedown() {

        AnimationSet set = new AnimationSet(true);

        Animation animation = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
                0.0f, Animation.RELATIVE_TO_SELF, -1.0f,
                Animation.RELATIVE_TO_SELF, 0.0f);
        animation.setDuration(800);
        animation.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                // TODO Auto-generated method stub
                // MapContacts.this.mapviewgroup.setVisibility(View.VISIBLE);

            }

            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                // TODO Auto-generated method stub
                Log.d("LA","sliding down ended");

            }
        });
        set.addAnimation(animation);

        LayoutAnimationController controller = new LayoutAnimationController(
                set, 0.25f);


        return animation;
    }

public Animation setLayoutAnim_slideup() {

        AnimationSet set = new AnimationSet(true);

        Animation animation = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
                0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
                Animation.RELATIVE_TO_SELF, -1.0f);
        animation.setDuration(800);
        animation.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                // TODO Auto-generated method stub
                RelativeLayout bodyView = (RelativeLayout)findViewById(R.id.bodyView);
                RelativeLayout myView = (RelativeLayout)findViewById(R.id.my_view);
                addListingView.clearAnimation();
                bodyView.removeView(myView);
            }
        });
        set.addAnimation(animation);

        LayoutAnimationController controller = new LayoutAnimationController(
                set, 0.25f);

        return animation;

}
Run Code Online (Sandbox Code Playgroud)