Android, как настроить анимацию слушателя для просмотра группы?

У меня есть вид изображения, который действует как меню. Когда пользователь щелкает по нему, группа просмотра (включая 5 других изображений) будет скользить слева направо. Когда пользователь снова щелкнет по меню, просмотрите слайды группы справа налево.

Я могу смоделировать это поведение, но после скольжения справа налево, я ожидаю не видеть группу представления, однако группа представления поместит ее на место. Я пытался использоватьLinearLayout.setVisibiliy(View.Invisible) но в тот момент я не могНе вижу скольжения справа налево анимации.

Это мой код, любое предложение будет оценено.

menu_open.xml


slide_out.xml



    

    

menu_close.xml


slide_in.xml



    

    

activity_main.xml



    

    

        

        

        

        

        
    


MainActivity.java

public class MainActivity extends Activity {

    private ImageView ivMenu;
    private Animation animate;
    private LinearLayout groupLayout;
    private boolean menuState = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        groupLayout = (LinearLayout) findViewById(R.id.linearLayout);
        groupLayout.setVisibility(View.INVISIBLE);

        ivMenu = (ImageView) findViewById(R.id.ivMenu);
        animate = AnimationUtils.loadAnimation(this, R.anim.animate);
        ivMenu.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                ivMenu.startAnimation(animate);
                runFadeOutAnimationOn(MainActivity.this, ivMenu);

                if(!menuState) {
                     groupLayout.setVisibility(View.VISIBLE);
                     runExpandMenuAnimation(groupLayout, MainActivity.this);
                } else {
                    runCollapseMenuAnimation(groupLayout, MainActivity.this);
//                   groupLayout.setVisibility(View.INVISIBLE);
                }

                menuState = !menuState;
                Log.i("Menu state", "" + menuState);
            }
        });
    }

    public static void runExpandMenuAnimation(ViewGroup panel, Context ctx) {
        LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(ctx, R.anim.menu_open);
        panel.setLayoutAnimation(controller);
    }

    public static void runCollapseMenuAnimation(ViewGroup panel, Context ctx) {
        LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(ctx, R.anim.menu_close);
        panel.setLayoutAnimation(controller);
  }

    public static Animation runFadeOutAnimationOn(Activity ctx, View target) {
          Animation animation = AnimationUtils.loadAnimation(ctx, android.R.anim.fade_out);
          target.startAnimation(animation);

          return animation;
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос