2015-03-13 23 views
2

我要進行佈局類似以下內容:定製的LinearLayout

enter image description here

爲此,我將需要三個背景是這樣的:

This is one layout

this is another layout

this is another

我將需要結合所有這些,

在運行時我必須要改變的每個

背景顏色,所以我想進行自定義的LinearLayout。

但我不知道如何讓它變成這樣。

我檢查了一些製作三角形和平行四邊形佈局的例子,但我也想合併所有三個視圖。請給出一些有用的鏈接,並給出代碼示例,而不是提供參考。

先謝謝您。 :)

我試圖在相對佈局。用於遠程視窗,我試圖這樣:

ColorFilter cf = new PorterDuffColorFilter(-15032095, Mode.MULTIPLY); 
     Drawable d= context.getResources().getDrawable(R.drawable.panel1); 
     d.mutate(); 
     d.setColorFilter(cf); 

我試圖以下代碼:

rv.setInt(R.id.rl_noti_main, "setColorFilter", d); 
rv.setInt(R.id.rl_noti_main, "setBackgroundDrawable", -15032095); 
rv.setInt(R.id.rl_noti_main, "setBackgroundResources",d); 
+0

而不是使用的圖像,你應該利用帆布和使用填充顏色繪製圖形過它。 – 2015-03-14 11:38:59

+0

感謝Amrut的回覆。你可以提出一些代碼,也可以建議我如何繪製? – kiturk3 2015-03-14 12:31:45

+0

爲什麼不在Photoshop中垂直加入這些圖像並將其用作背景。 – Apurva 2015-03-14 13:58:19

回答

1

嘗試幀佈局或相對佈局。你需要重疊每個視圖來實現這一點,這是線性佈局無法實現的。將每個圖像製作爲矩形,其中透明區域需要重疊的部分。

+0

okk,請嘗試用relativelayout。 :) – kiturk3 2015-03-13 07:16:42

+0

嗨@Sayem ....我試着用相對佈局,但問題是一樣的......我必須動態改變每個視圖的顏色,並且每個視圖也會有textview。 :( – kiturk3 2015-03-14 07:05:22

+0

使用colorfilter動態改變圖像的顏色如果相對佈局產生問題,然後嘗試framelayot – Sayem 2015-03-14 07:31:12

0

選項1

考慮將自定義視圖。您將擴展View類並覆蓋onDraw方法。在onDraw方法中,您將繪製特殊形狀。您也可以製作一個方法來設置每個部分的顏色。首先閱讀documentation。它給出了一個非常全面的概述。然後查找一些關於繪圖和創建自定義視圖的教程。隨着時間的推移,你應該準備好嘗試自己。

這裏有幾個教程,但我相信你可以找到更多。

選項2

(取決於你如何需要他們調整了不同的佈局或可能爲9-patch圖片)創建三種形狀爲白色圖像。你不想着色的部分可以變得透明。我甚至可以將中間圖像製作成一個高大的矩形(甚至是一個簡單的矩形視圖),並將其他兩個圖像放在最上面。)然後使用RelativeLayout將圖像堆疊或重疊在一起。之後,使用Drawable.setColorFilter以編程方式更改顏色。請參閱下面的鏈接。這似乎對很多人來說都是成功的。

+0

我的第一個想法是做你提出的相同,但它可能是費時,如果沒有其他選擇,而不是我必須使用此只有解決方案:) – kiturk3 2015-03-17 11:06:31

+0

如果您不想製作自定義視圖,請參閱我的第二個選項。 – Suragch 2015-03-17 12:27:09

+0

是的,但如何改變remoteview的顏色,因爲我提到我希望它的部件視圖 – kiturk3 2015-03-17 12:30:17