0
我想在視圖的背景中繪製一些顏色。混合兩個漸變drawable在android中的視圖
顏色將被放置爲線性漸變和不同的方向。
所以,我做了以下內容:
private Orientation[] orientations = new Orientation[]{Orientation.BL_TR, Orientation.BR_TL, Orientation.TL_BR, Orientation.TR_BL, Orientation.TOP_BOTTOM};
public void drawBackgroudGradient(RelativeLayout backgroundView, int[] colors){
if (colors != null){
if (colors.length > 1){
for (int i=0; i<colors.length; i++){
backgroundView.setBackgroundDrawable(getGradientDrawable(colors[i], orientations[i]));
}
}else{
//in case of only one color just set that color as background
backgroundView.setBackgroundColor(colors[0]);
}
}
}
private GradientDrawable getGradientDrawable(int color, Orientation orientation){
int[] colors = new int[] {color, Color.WHITE};
GradientDrawable drawable = new GradientDrawable(orientation, colors);
drawable.setAlpha(125);
return drawable;
}
我有一個從起始顏色繪製每個要透明,使所有的梯度是可見的。 但問題是所有的顏色都沒有顯示出來。只有最後一種顏色是通過漸變drawable繪製的。其餘的都看不到。
有人能幫我弄清楚如何混合和顯示所有的顏色?
謝謝。 陽光
使用LayerDrawable作爲您的漸變色的容器 – pskink 2014-09-26 11:15:00
您可以舉一些例子 – Sunny 2014-09-26 11:15:34
backgroundView.setBackgroundDrawable(yourLayerDrawable) – pskink 2014-09-26 11:18:11