2012-01-18 109 views
0

我试图创建这样的矩形,在xml形状但没有运气,这是可能的或如何透明这个图像,我的意思是它的颜色想透明像我们定义的颜色为任何形状与阿尔法然后我们得到透明度,有没有办法解决这个问题?android创建使用xml形状的弧形矩形

感谢

enter image description here

回答

1

我能够通过使裁剪区域的相同的背景色,(在我的情况了一圈)来做到这一点。

float[] outerR = new float[] { 12, 12, 12, 12, 0, 0, 0, 0 };
float[] circleR = new float[] { 50, 50, 50, 50, 50, 50, 50, 50 };

mDrawables = new ShapeDrawable[2]; 
mDrawables[0] = new ShapeDrawable(new RoundRectShape(outerR, null, 
       null)); 
mDrawables[1] = new ShapeDrawable(new RoundRectShape(circleR, null, 
       null)); 
mDrawables[0].getPaint().setColor(0xFF0000FF); 
mDrawables[1].getPaint().setColor(Color.GRAY); 



而在onDraw有:

protected void onDraw(Canvas canvas) { 
    canvas.drawColor(Color.GRAY); 
    int x = 10;<br> 
    int y = 10;<br> 
    int width = 100;<br> 
    int height = 100; 

    for (int i = 0; i < mDrawables.length; i++) { 
    Drawable dr = mDrawables[i]; 
    if (i == 0) { 
      dr.setBounds(x, y, x + width, y + height); 
      dr.draw(canvas); 
     } else { 
      x = 10 + 75; 
      y = 10 + 75; 
      dr.setBounds(x, y, x + 50, y + 50); 
      dr.draw(canvas); 
     } 
    } 
    canvas.save(); 
} 

It looked like this on my emuloator