如何在Android中的同一片段中实现关系视图?

时间:2016-11-21 17:36:09

标签: android android-layout android-fragments

我的UI设计中有3个屏幕。

屏幕1:其中会有一个进度条和信息文本。

屏幕2:如果操作成功,将打开此屏幕并显示成功消息。

屏幕3:如果操作失败,将打开此屏幕并显示失败消息。

这些屏幕已经有其他部分,但我想简单解释一下。 正如您所看到的,实际上他们没有任何艰苦的操作,只显示一些信息文本和组件。

我的想法有三种方式。

方法1:为每个操作创建3个片段。

方法2:创建1个片段,创建1个布局,绘制流中的所有视图(进度,错误,成功)并管理它们可见或消失。

方法3:创建1个片段,创建3个不同的布局,在每个下一步中,调用onCreateView并使用不同的布局膨胀片段。

这种做法有最好的方法吗?

1 个答案:

答案 0 :(得分:0)

我会选择第二种方法。

在第一种方法中,我认为通常不会管理3个片段来显示简单的视图,比如TextView消息,您将使一个简单的任务复杂化。

第三种方法也是一种好方法。

但我仍然认为,只要每次展示新版面时,您都可以更容易,更简单地查看视图或显示视图。

我选择了第二种方法,因为它更容易使用。 您只需要设置一个全局变量

private LinearLayout mMyView1
private LinearLayout mMyView2
private LinearLayout mMyView3

mMyView1 = (LinearLayout) findViewById(R.id.myid1);
mMyView2 = (LinearLayout) findViewById(R.id.myid2);

//than set visible or gone
mMyView1.setVisibility(View.GONE);
mMyView2.setVisibility(View.VISIBLE);

实际上,我在我的应用GitHub中使用了第二种方法。所以我建议。 但请记住,如果你想做更复杂的方法,需要检查哪种方法更好。

修改

@uguboz评论时,您可以使用其他方式显示简单消息,例如DialogsSnackbar