我可以使用ViewFlipper随机更改布局吗?

时间:2012-06-25 05:54:23

标签: android android-layout viewflipper

我的问题是我想通过按Button从布局1转到任何其他布局。 例如:

从带有setDisplayChild(R.id.layout3)的布局1到总共4个布局的布局3(不起作用)。

我创建了一个包含所有四种布局的container.xml,但我不能直接从布局2到布局4,而不使用flipper.showNext()flipper.showPrevious()两次或类似的事情,方法showNext()showPrevious()只是前进或后退,我需要转到任何其他布局。

是否有ViewFlipper从布局1(或其他布局)转到其他布局(不是相邻布局)或ViewFlipper知道下一个,上一个或前一个的方法第一个布局(孩子)?

1 个答案:

答案 0 :(得分:1)

  

viewFlipper上有一个方法来自layout1(或其他layots)   到其他布局(不是neighoubrs布局)或鳍状肢   知道只是去下一个,上一个或第一个布局(孩子)?

是的,ViewAnimator类中的setDisplayedChild方法是ViewFlipper的父级,它允许您将ViewFlipper移动到您想要的任何孩子。

  

例如:从layout1与setDisplayChild(R.id.layout3)一起去   布局3共有4种布局。 (Doesen不工作)

setDisplayedChild要求您传递View元素中所需ViewFlipper位置不是ID 就像你使用它那样的布局。因此,如果您想跳转到ViewFlipper的其中一个孩子,请使用:

viewFlipper.setDisplayedChild(2); // jumps to the third child
viewFlipper.setDisplayedChild(2); // another call like the one below will not move the ViewFlipper as it is already at the third child
viewFlipper.setDisplayedChild(1); // jumps to the second child

如果您想让ViewFlipper随机移动其子女,那么您可以:

Random mRandom = new Random();
viewFlipper.setDisplayedChild(mRandom.nextInt(4)); // 4 for 4 children