2014-02-27 35 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獲取代碼示例和更多詳細信息。