2011-11-15 15 views
7

मैं एंड्रॉइड लाउट में एक सर्कल आकर्षित करने के लिए Canvas.drawCircle का उपयोग कर रहा हूं।Android Canvas.drawCircle

विधि 3 पैरामीटर प्राप्त करता है - पहले दो स्थिति हैं - x और y

क्या सर्कल की हार्डकोडेड स्थिति को छोड़ना और इसे केंद्रित करना संभव है?

उत्तर

16

के बाद कोड चौड़ाई और स्क्रीन की ऊंचाई प्राप्त करने के लिए इस्तेमाल किया जा सकता।

int width = this.getWidth(); 
int height = this.getHeight(); 

स्क्रीन के बीच में वृत्त के लिए आप कॉल कर सकते हैं:

Canvas.drawCircle(width/2, height/2) 
3

मान लिया जाये कि आप देखें वर्ग बढ़ा रहे हैं:

int CentreX = (this.getWidth()/2); 
int CentreY = (this.getHeight()/2); 
3

आपको एक मंडली इस तरह स्क्रीन पर केंद्रित पेंट कर सकते हैं:

Display disp = ((WindowManager)this.getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
canvas.drawCircle(disp.getWidth()/2, disp.getHeight()/2, radius, paint); 
+0

'प्रदर्शन # getWidth() 'और' प्रदर्शन # getHeight() 'बहिष्कृत हैं। –