多个布局之间显示和切换的UI设计建议

时间:2010-06-26 07:13:29

标签: java android

我正在尝试创建一个为用户提供3种不同布局的应用。 所有3的唯一共同部分是TextView(位于顶部),它将显示特定于当前显示的布局的信息,以及3个按钮,用于选择所需的布局。

我们是否可以通过某种方式在XML中创建此UI以仅保留一个常量部分(上部TextView)并动态显示其下方的3个布局中的任何一个? 为每个布局创建单独的XML(每个布局包括其中的上层TextView)会更好吗? 或者通过代码做这件事会更好吗?

3种布局之间的快速切换很重要。

感谢对此的任何见解。

TIA

[编辑1] 实际上它们是3种不同的布局,每种布局都有几个“子”布局和视图。 可以使用ViewFlipper在这些之间切换吗?我以为ViewFlipper只用于在View元素之间切换?

我现在确实在单独的XML中使用它们,但我正在寻找一些方法来快速加载和卸载它们。不知道如何做隐藏的事情,会尝试阅读。 [/编辑1]

2 个答案:

答案 0 :(得分:0)

我会创建

  • 一个主要布局
  • 3个布局的几个单独的XML布局
  • 我会在主布局中使用include指令加载3个XML布局
  • 要么单独隐藏它们,要么使用ViewFlipper快速更改它们

答案 1 :(得分:0)

我建议您使用Viewflipper

布局的公共部分应保留在Viewflipper之外。 Viewflipper可以在XML中声明为

    <ViewFlipper android:id="@+id/splash_more_flipper"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:outAnimation="@anim/push_left_out"
        android:inAnimation="@anim/push_left_in">

您可以提供自己的进出动画版本,因为它存在于/ res / anim中。

在Viewflipper中的视图之间翻转非常简单。按下按钮可以翻转视图。

mFlipper = ((ViewFlipper) this.findViewById(R.id.splash_more_flipper));

    Button next = (Button) findViewById(R.id.next);
        next.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                mFlipper.showNext();
                mContainer.startAnimation(anim);
            }
        });
    }

您还可以添加一个按钮来显示上一个视图并调用

mFlipper.showPrevious();

点击按钮。

希望这有帮助。