4

我有一個用於橫向和縱向的佈局。我在/layout/layout-land文件夾中。唯一的區別是android:orientation使用引用代替layout-land(僅限於xml)設置LinearLayout方向

我想在/layout只有1 xml,因爲它更容易維護。我想用/values/values-land代替。這可能嗎?

我現在擁有的是(不必要的代碼刪除):

<LinearLayout 
    android:orientation="horizontal"/> 

VS

<LinearLayout 
    android:orientation="vertical"/> 

我雖然大約是這樣的:

<LinearLayout 
    android:orientation="@xxxx/linear_orientation"/> 

作爲最終的解決方案我還以爲關於僅爲此創建自定義樣式LinearLayout(我不喜歡此解決方案,但是無線如果我不能罰款另一種選擇,將不得不使用它)。

注:我知道有可能在java上做到這一點,但我正在尋找xml-only解決方案。

回答

9

我想只有1 xml在/佈局,因爲它更容易 保持。我想用/ values和/ values-land代替。這可能是 嗎?

是的,這是可能的。你可以使用Style來實現這一點。

在styles.xml樣式下/值:

<style name="LinearLayoutOrientation" > 
    <item name="android:orientation">horizontal</item> 
</style> 

<style name="LinearLayoutOrientation" > 
    <item name="android:orientation">vertical</item> 
</style> 

下/值-土地在styles.xml樣式LinearLayout的最終xml代碼:

<LinearLayout 
    style="@style/LinearLayoutOrientation"/> 
+0

是的,那是我的最終解決方案。我希望不要爲1個屬性創建自定義樣式。它聽起來不太好。 – gian1200 2014-09-28 04:19:35

+0

@ gian1200對不起,我沒有仔細閱讀你的問題。我不知道除java以外的其他解決方案來實現這一點。 – 2014-09-28 04:22:55

相關問題