1

我必須使用不同的顏色將背景設置爲很多視圖。但如果我這樣做了,xml將大約20個文件,這是巨大的,所以我想將下面的xml layer-list轉化爲完全獨立的模塊,而不需要單個xml,因此它可以重用,請幫助我們。以編程方式創建以下代碼xml到圖層列表android

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    //i can create this drawable 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="#ff2632"/> 
     </shape> </item> 

    //I don't know how to achieve this one, especially this "bottom property" 
    <item android:bottom="2dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#d7ffa2"/> 
     </shape> </item> 
</layer-list> 
+0

你想改變哪種顏色? –

+0

@NigamPatro,<項機器人:底部= 「2DP」> <形狀機器人:形狀= 「矩形」> <固體機器人:顏色= 「#d7ffa2」/> – TheReprator

+0

@ NigamPatro,基本上我必須設置這個xml作爲背景可以用不同的顏色代碼來查看 – TheReprator

回答

1

請找到下面的代碼,

// This is the first item in your XML file 
GradientDrawable layer1 = new GradientDrawable(); 
layer1.setShape(GradientDrawable.RECTANGLE); 
layer1.setColor(Color.parseColor("#ff2632")); 

// This is your second item in your XML file 
GradientDrawable layer2 = new GradientDrawable(); 
layer2.setShape(GradientDrawable.RECTANGLE); 
layer2.setColor(Color.parseColor("#d7ffa2")); 

// This will give the bottom space which you are unable to do  
InsetDrawable insetLayer2 = new InsetDrawable(layer2, 0, 0, 0, 2); 

// This is the final drawable which is to be used 
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{layer1, insetLayer2}); 

參考這一點,讓我知道了問題。

+0

好友你在哪裏使用過,屬性 – TheReprator

+0

'insetLayer2'正在完成這項任務。 –

+0

你會詳細解釋一下上面的內容,以便我能理解 – TheReprator