2013-11-15 14 views
0

我有一個類延伸View。我想將漸變設置爲background color設置漸變作爲onDraw中的背景 - android

@Override 
    public void onDraw(Canvas canvas) 
    { 

     GradientDrawable gradient1 = new GradientDrawable(Orientation.BOTTOM_TOP, new int[] 
       {Color.parseColor("#B1FCA9"),Color.parseColor("#29C413")}); 
     gradient1.setShape(GradientDrawable.RECTANGLE); 
     gradient1.setCornerRadius(10.f); 


     GradientDrawable gradient2 = new GradientDrawable(Orientation.BOTTOM_TOP, new int[] 
       {Color.parseColor("#29C413"),Color.parseColor("#B1FCA9")}); 
     gradient2.setShape(GradientDrawable.RECTANGLE); 
     gradient2.setCornerRadius(10.f); 


     if(!Const.currentLevel.isBonusLevel()) 
      canvas.drawBitmap(Const.backgroundBitmap, 1, 1, null); 
     else if(this.bonusPicFrame == 0) 
      gradient1.draw(canvas); 
     else 
      gradient2.draw(canvas); 
} 

gradient1應該出現在我的屏幕上,但屏幕是白色的。

什麼問題?

回答

1

您可以隨時使用這樣

background.xml一個drawable資源文件是資源文件

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient android:startColor="#B1FCA9" android:endColor="#29C413" android:angle="270" android:type="linear"/> 
    <corners radius="10dp"/> 
</shape> 

的名稱,並將其與setBackgroundResource(R.drawable.background);

0

你要的setBounds設置你的看法漸變1和漸變2