2013-08-07 9 views
10

आकार बनाने के लिए किन कदमों की आवश्यकता है उदा। एक कैनवास का उपयोग कर खरोंच से एक छाया के साथ आयताकार?कैनवास खींचे गए आकार के चारों ओर एक छाया बनाना?

आयत को आकर्षित करने के लिए उपयोग किए गए पेंट में एक छाया परत जोड़ना कोई सफलता नहीं मिली।

उत्तर

20

एक बिटमैप के लिए कोई ज़रूरत नहीं, बस LAYER_TYPE_SOFTWARE को परत प्रकार मूल दृष्टिकोण काम किया सेट करने के लिए की जरूरत है।

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

अच्छा लेकिन एक्सएमएल में इसका उपयोग करने में समस्याएं थीं। कन्स्ट्रक्टर को 'टेस्टशैपशैडो (संदर्भ संदर्भ, एट्रिब्यूटसेट एटर्स)' – RunLoop

+2

में बदलना पड़ा क्या यह किसी भी तरह से प्रभाव प्रदर्शन करता है? – navit

5
  1. बनाएँ। एक पथ, कुछ तत्वों इसे करने के लिए एक पेंट

  2. को

  3. सेट BlurMaskFilter जोड़ने dx के साथ एक मार्ग बनाना, उप छाया ऑफसेट

  4. सेट नहीं मुखौटा फिल्टर

  5. के साथ फिर से एक मार्ग बनाना नहीं। ऑफसेट

+0

क्या आपके पास इसके लिए कोई उदाहरण है? –

संबंधित मुद्दे