मेरे ऐप में मुझे बिटमैप और drawCircle() विधि का उपयोग करके मंडलियों को आकर्षित करने की आवश्यकता है।एंड्रॉइड 6.0 गलत तरीके से ड्रॉ करता है DrawCircle विधि
सब कुछ ठीक काम कर रहा था और ठीक उसी तरह यह एंड्रॉइड 6.0 तक होना चाहिए।
यह अभी भी पिछले सभी संस्करणों पर मंडल खींचता है, लेकिन जब मैं 6.0 पर ऐप का उपयोग करता हूं तो आयताकार खींचता है। लेकिन यदि मैं इसे भरने के लिए बदलता हूं, तो यह एपीआई 22 और एपीआई 23 दोनों में एक सर्कल खींचता है। किसी को भी एक ही समस्या है या कोई विचार यह क्यों होता है?
यहां स्रोत कोड और एक स्क्रीनशॉट (बाईं ओर एपीआई 23 पर चल रहा ऐप, और दाईं ओर एपीआई 22) है। same app on different api's
public final class Circle1View extends View {
private float xCenter, yCenter;
private Bitmap grid = null;
public Circle1View (Context context) {
super(context);
init();
}
private void init() {
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
@Override
protected void onDraw(Canvas canvas) {
int w = getWidth();
int h = getHeight();
xCenter = w/2;
yCenter = h/2;
drawBitmaps(w, h);
canvas.translate(xCenter, yCenter);
canvas.scale(xCenter, yCenter);
canvas.drawBitmap(grid, null, new RectF(-1, -1, 1, 1), null);
}
private void drawBitmaps(int w, int h) {
grid = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas();
canvas.translate(xCenter, yCenter);
canvas.scale(xCenter, yCenter);
Paint gridPaint = new Paint();
gridPaint.setStrokeWidth(0.01f);
// Works with FILL
// gridPaint.setStyle(Paint.Style.FILL);
gridPaint.setStyle(Paint.Style.STROKE);
canvas.setBitmap(grid);
canvas.drawCircle(0, 0, 0.5f, gridPaint);
}
}
मैं मंडलियों को चित्रित करने के तरीके को फिर से प्रतिक्रिया देने का प्रयास करूंगा। क्या आप वर्णन कर सकते हैं कि क्या खींचा जाना है? उदाहरण के लिए: त्रिज्या के साथ केंद्रित एक सर्कल आधे चौड़ाई के बराबर है। –