यदि आप अपने स्क्रीन आकार के आधार पर लाइनों को द्विपक्षीय रूप से आकर्षित करना चाहते हैं तो आप इसे अपने कैमरे के पूर्वावलोकन वर्ग में जोड़कर इसका उपयोग कर सकते हैं।
@Override
protected void onDraw(Canvas canvas)
{
if(grid){
// Find Screen size first
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
int screenWidth = metrics.widthPixels;
int screenHeight = (int) (metrics.heightPixels*0.9);
// Set paint options
paint.setAntiAlias(true);
paint.setStrokeWidth(3);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.argb(255, 255, 255, 255));
canvas.drawLine((screenWidth/3)*2,0,(screenWidth/3)*2,screenHeight,paint);
canvas.drawLine((screenWidth/3),0,(screenWidth/3),screenHeight,paint);
canvas.drawLine(0,(screenHeight/3)*2,screenWidth,(screenHeight/3)*2,paint);
canvas.drawLine(0,(screenHeight/3),screenWidth,(screenHeight/3),paint);
}
}
आप भी अपने कैमरा पूर्वावलोकन वर्ग के निर्माता में निम्न पंक्ति जोड़ने की जरूरत:
this.setWillNotDraw(false);
स्रोत
2014-04-30 11:15:11
इस मामले के लिए, आप अपने निर्माता पर अपने रंग विकल्पों को सेट और कुछ संसाधनों को बचाने। पेंट विकल्प स्थिर हैं और ऑनड्रा() विधि कई बार कॉल की जाएगी। – Oximer