2010-09-12 2 views
2

Я хотел бы иметь кнопку в приложении для 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; 

} 
Смежные вопросы