Android: анимированное меню не исчезает - PullRequest
0 голосов
/ 06 июня 2011

Я имею дело с флиппером вида.У меня есть 2 вида в моем флипплере и во втором виде после завершения анимации кадров анимированное всплывающее меню с переводом снизу.когда я нажимаю кнопку «назад», я могу перейти к первому виду со второго, но снова, когда я переключаюсь на второй вид из первого, всплывающее меню не исчезает.Я использовал методы reset () и setfillafter (), но без результата. Как это решить?Любая идея?

Вот мой код.

 final Animation popup = new TranslateAnimation(0, 0, 200, 0);
            popup.setDuration(20000);
            popup.setFillAfter(true);


hearttap.setOnClickListener(new View.OnClickListener() {
            public void onClick(final View view) {

final  RelativeLayout popuplayout = (RelativeLayout) findViewById(R.id.popuplayout);
                final ImageView ekgimgview4 = (ImageView) findViewById(R.id.ekgimgview4);
                ekgimgview4.setVisibility(ImageView.VISIBLE);
                ekgimgview4.setBackgroundResource(R.anim.ekgtimer);

AnimationDrawable ekgframeAnimation4 = (AnimationDrawable) ekgimgview4
                        .getBackground();

                if (ekgframeAnimation4.isRunning()) {
                    findViewById(R.id.ekgimgview4).postDelayed(new Runnable() {
                    public void run() {
                    //  openOptionsMenu();
                        popuplayout.startAnimation(popup);
                        popup.setFillAfter(true);
                        popup.setStartTime(30000);
                        ekgimgview4.setVisibility(view.GONE);

                    }
                }, 30000); 


final   Button ekgbutton = (Button) findViewById(R.id.ekgbutton);
        ekgbutton.setOnClickListener(new View.OnClickListener() {
            public void onClick( View view) {

         RelativeLayout popuplayout = (RelativeLayout) findViewById(R.id.popuplayout);

            popuplayout.setVisibility(View.INVISIBLE);

    }
        });

1 Ответ

0 голосов
/ 06 июня 2011

Вам нужно использовать функцию dismiss () для всплывающих окон. Поэтому используйте следующий код при переходе между представлениями:

popup.dismiss();

Я бы сам отредактировал его в вашем коде, но благодаря тому, что StackOverflow обрабатывает отображение тегов кода, ваш код наполовину превратился в теги HTML, а наполовину - нет.

...