2014-02-27 20 views
2

比方说,我有Android XML文件home_page.xml如何重用Android的XML布局有微小的差异?

对这个home_page.xml我有一些变化,我想在不同的活动中显示,我想重复使用相同的主布局home_page.xml

例如,假设在页面上的变化,例如:

  1. 有2个更多的按钮,如果用户处于状态A
  2. 有1个EDITTEXT字段,如果用户处于状态B(相同的活性如状态A)
  3. 有上在帧布局Z轴布局的不同布置,如果用户处于状态C(相同的活性状态A)

我知道这是可能的的程序化说隐藏视图并将视图设置为可见。但有没有更好的方式来通过XML或其他方式来做到这一点?

+2

“状态A”和“状态B”是不同的“活动”?如果是这样,你可以使用''标签在'layout'中包含'home_page.xml',然后每个人都有他们需要的'View'。 – codeMagic

+0

我只会做出3种不同的布局。如果你想添加/删除的东西,将来会更容易维护。如果你开始使用setVisibility,它会变成一团糟。 – mario

+0

@codeMagic很好的说明。假设有相同的活动 –

回答

0

您可以隐藏视图,但使用Visibility标志。

 

View v = findViewById(R.Id.my_view); 
v.setVisiblity(View.GONE); //etc. 

我以前试过这样的东西。我有混杂的结果。如果你正在做的事情就好了,比如询问用户名称,然后显示地址输入或其他内容。但是如果你发现自己对于一个editText有3或4个条件,然后在同一个类中有不同的按钮,你可能只想使用不同的布局。更容易管理。

1

Android建议使用2个标签重新使用不同屏幕上的布局。

  • 包括

何时使用? 如果您已经知道要重新使用的布局,请创建一个新的XML文件并定义布局。使用标签重新使用它。

  • 合并

何时使用?

要在一个布局中包含另一个布局时消除视图层次结构中的冗余视图组,我们可以使用标记。

请参阅此链接 - http://developer.android.com/training/improving-layouts/reusing-layouts.html获取代码示例和更多详细信息。