开发者

Slide down view in android

I would like to have a button in my android application trigger a slide down view of a form. I want to have a view at the top of the screen, a list at the bottom of the screen, and I want to have the slide d开发者_Go百科own form view appear between the two when a button is clicked.

I have no problem showing the view, but can't seem to animate it from hidden to shown on the screen.

Any ideas on how this could work?


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;

}


This may help you:

  • ANDROID ANIMATION SLIDEDOWN SLIDEUP
  • Android Animation Framework
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜