2013-08-07 34 views

Odpowiedz

20

ma potrzeby bitmapy po prostu potrzebne, aby ustawić typ warstwy do LAYER_TYPE_SOFTWARE oryginalne podejście pracował.

public class TestShapeShadow extends View 
{ 
    Paint paint; 

    public TestShapeShadow(Context context) 
    { 
     super(context); 

     paint = new Paint(Paint.ANTI_ALIAS_FLAG); 
     paint.setShadowLayer(12, 0, 0, Color.YELLOW); 

     // Important for certain APIs 
     setLayerType(LAYER_TYPE_SOFTWARE, paint); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) 
    { 
     canvas.drawRect(20, 20, 100, 100, paint); 
    } 
} 
+0

Dobry, ale miał problemy z używaniem go w xml. Musiał zmienić konstruktora na 'TestShapeShadow (kontekst kontekstowy, atrybuty AttributeSet)' – RunLoop

+2

Czy to ma wpływ na wydajność w jakikolwiek sposób? – navit

5
  1. tworzenie. ścieżki, dodać kilka elementów do niego

  2. zestaw BlurMaskFilter do farby

  3. narysować ścieżkę z dx, dy cień przesunięcie

  4. rozbrojony maska ​​filtr

  5. narysować ścieżkę ponownie Nie. Przesunięcie

+0

Czy masz na to przykład? –