2013-02-02 83 views
1

我通常通過片段組織我的代碼/邏輯表示一個佈局。現在我需要一些比較簡單的表單來獲取來自用戶的輸入數據,這些數據在目的上有些相關。假設我有3個屏幕,我可以創建3個片段來處理它們(顯示視圖,讀取輸入,提交,..)。或者我應該使用一個片段,並使用FrameLayout創建一個佈局堆棧。我在想,堆疊所有3個視圖並隱藏/顯示我喜歡的視圖。但documentation使用框架佈局來呈現多個視圖

一般的FrameLayout應該被用來保存單個子視圖, 因爲它可以是難以組織的方式,是 擴展到不同的屏幕尺寸沒有把孩子重疊 對方孩子的意見

任何好的辦法做到這一點,或者我應該創建多個片段爲這個(這個不好的一面是大量的小班和重複代碼。我可以用一個基類,還是喜歡探索其他選項)

謝謝。

+0

只要一次只能看到一個childview,就不應該有重疊的問題。 – anthropomo

回答

1

這聽起來像你真的不關心那麼多,如果意見中FrameLayout相互重疊,或者實際上他們是應該重疊,因爲你希望只有一個被顯示在同一時間。 FrameLayout當然可以顯示堆疊的子視圖,每個子視圖佔據其全部寬度和高度都很好,並且如果將未使用視圖的可見性設置爲INVISIBLEGONE,則它們將不會攔截屏幕按鍵或在焦點位於上方用戶正在與之交互的可見視圖。

就可讀性和代碼維護而言,儘管存在更多的內存開銷,但我認爲交換片段更有意義。佈局管理可以封裝在單獨的片段中,並且不需要擔心顯示/隱藏視圖,因爲片段事務將處理該方面。

相關問題