2016-11-21 43 views
0

我在我的UI設計中有3個屏幕。如何在Android中的相同片段中實現關係視圖?

屏幕1:其中會有一個進度條和信息文本。屏幕2:如果操作成功,此屏幕將打開並顯示成功消息。

屏幕3:如果操作失敗,此屏幕將打開並顯示失敗消息。

這些屏幕已經有額外的部分,但我想保持簡單的解釋。你可以看到,實際上他們沒有任何困難的操作,只顯示一些信息文本和組件。

我腦海中有3種方式。

方法1:爲每一個操作創建3個片段。方法2:創建1個片段,創建1個佈局,繪製流中的所有視圖(進度,錯誤,成功)並管理它們可見或不見。方法3:創建1個片段,創建3個不同的佈局,在下一個步驟中,調用onCreateView並使用不同的佈局膨脹片段。

這種做法是否有最佳方法?

+1

alertdialogs正是爲了這個目的。隨時可以使用它們,因爲您可以選擇在完成時解僱 – uguboz

回答

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

相關問題