Перевод анимации для скрытия Просмотр

Мне нужен мой список, чтобы скрыть и показать, используя альтернативные штрихи. Следовательно, для скрытия списка в левой части экрана я использую анимацию

Animation animation = new TranslateAnimation(-100, 0,0, 0); animation.setDuration(100); animation.setFillAfter(true); lv.startAnimation(animation); lv.setVisibility(0); 

И для отображения am используя

 lv.setVisibility(View.VISIBLE); 

Моя проблема заключается в том, что просмотр списка не скрывается. Он пойдет влево и снова вернется. Я не знаю, как полностью скрыть список в левом краю. Пожалуйста, помогите в достижении этого

Solutions Collecting From Web of "Перевод анимации для скрытия Просмотр"

 // To animate view slide out from left to right public void slideToRight(View view){ TranslateAnimation animate = new TranslateAnimation(0,view.getWidth(),0,0); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate); view.setVisibility(View.GONE); } // To animate view slide out from right to left public void slideToLeft(View view){ TranslateAnimation animate = new TranslateAnimation(0,-view.getWidth(),0,0); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate); view.setVisibility(View.GONE); } // To animate view slide out from top to bottom public void slideToBottom(View view){ TranslateAnimation animate = new TranslateAnimation(0,0,0,view.getHeight()); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate); view.setVisibility(View.GONE); } // To animate view slide out from bottom to top public void slideToTop(View view){ TranslateAnimation animate = new TranslateAnimation(0,0,0,-view.getHeight()); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate); view.setVisibility(View.GONE); } 

Если вы хотите скрыть свой вид, используйте

 View.INVISIBLE // constant value 4 

или

 View.GONE // constant value 8 

В настоящее время вы используете значение 0, которое является постоянным значением View.VISIBLE .

Я полагаю, вы хотите скрыть ListView после анимации?

Но вы показываете ListView сразу после запуска анимации. Взгляните на AnimationListener и скройте ListView

 onAnimationEnd(...) 

Например:

 // assuming the listview is currently visible Animation animation = new TranslateAnimation(-100, 0,0, 0); animation.setDuration(100); animation.setFillAfter(true); animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { lv.setVisibility(View.GONE); } @Override public void onAnimationRepeat(Animation animation) { } }); lv.startAnimation(animation); 

Наконец, я нахожу ответ, и это очень простая модификация в координированных значениях. И код

 Animation animation = new TranslateAnimation(0,-200,0, 0); animation.setDuration(2000); animation.setFillAfter(true); listView1.startAnimation(animation); listView1.setVisibility(0); 

Здесь я устанавливаю отрицательное значение при второй координирующей причине из o он перемещает две отрицательные стороны, что означает, что вид перемещается в две стороны левой левой стороны.

Для общего понимания того, что вы не знаете, я нашел вам еще одну должность, которая объясняет это очень хорошо! View и его анимация работают немного иначе, как и следовало ожидать!

https://stackoverflow.com/a/5888969/2074990