2016-04-14 24 views
2

我有一個問題,那就是我有一些ViewGroup,它們的內容幾乎相同。像這樣:如何通過參數<include/>重新使用佈局?

<LinearLayout> 
    <TextView android:text="aaa"/> 
    <ImageView android:src="bbb"/> 
</LinearLayout> 

<LinearLayout> 
    <TextView android:text="ccc"/> 
    <ImageView android:src="ddd"/> 
</LinearLayout> 

我想轉換到這一點:

<include layout="xxLayout" 
    param1="aaa" 
    param2="bbb"/> 
<include layout="xxLayout" 
    param1="ccc" 
    param2="ddd"/> 


xxLayout.xml 
<LinearLayout> 
    <TextView android:text="{param1}"/> 
    <ImageView android:src="{param2}"/> 
</LinearLayout> 

我知道我能做到這一點用java code.Could沒有可能,只是使用XML?

回答

0
不同佈局

您可以使用具有attibute param1,param2的自定義視圖組。包括不符合你的要求

+0

我知道它。這是我不想要的東西。我一直在想,必須有一種沒有Java代碼的方式,但事實並非如此。包括 –

+0

不支持自定義parms – chefish

1

您可以使用此

  <include 
      android:id="@+id/banner" 
      layout="@layout/login_banner" /> 

旗幟是包括標籤的ID和login_banner是你想在你的XML膨脹

+0

沒有答案, – Apurva

+0

@Apurva沒有得到你嗎? –

+0

我從問題中瞭解到的是,OP還想將自定義(或可能不是自定義)屬性'param1','param2'添加到包含的佈局中。你沒有在你的答案中顯示。 – Apurva

1

使用這樣

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <include 
      android:id="@+id/vgroup1" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      layout="@layout/viewgrup1"" /> 

    <include 
       android:id="@+id/vgroup2" 
       layout="@layout/viewgrup2"" /> 
</LinearLayout> 
+0

不......它不只是有不同的「android:id」,它還有一些其他參數,如「android:src」,「android:text」。 –

+0

檢查這個[鏈接](http://stackoverflow.com/questions/2631614/does-android-xml-layouts-include-tag-really-work) – Rgv

+0

這是一個好主意,但沒有用 –