سؤال

لقد صنعت بعض التطبيقات لنظام Android ، لكن لم يستخدم أي منها الرسومات كثيرًا. أحاول الآن صنع لعبة فعلية. لدي بعض الخلايا النقطية الموجودة على قماش بلدي. مشكلتي هي أنني لست متأكدًا من مكان تهيئة مواقفهم. وفي أحداث Ontouch ، أريد التأكد من أن نقار النقط لا تبتعد خارج الشاشة. على سبيل المثال ، تهيئة صورة نقطية واحدة:

canvas.drawBitmap(glider.getGraphic(), 30, 20, null);

20 و 30 كانت تعسفية. لكنني أريد أن أكون قادرًا على كتابة شيء مثل الشاشة. لا يمكنني العثور على هذا في مرجع المطورين.

هل كانت مفيدة؟

المحلول

إذا كنت تتطلع فقط للحصول على أبعاد الشاشة ، ألق نظرة على DisplayMetrics صف دراسي. يمكنك الحصول على مثيل وقياسات مثل ذلك:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenHeight = metrics.heightPixels;
int screenWidth = metrics.widthPixels;

ضع في اعتبارك أن هذا هو حجم الشاشة المطلق. إذا كنت تقوم بلعبة ملء الشاشة ، فسيعمل هذا بشكل جيد ، ولكن إذا لم يكن الأمر كذلك ، فيجب عليك أن تضع في اعتبارك حجم شريط الإخطار ، وربما شريط العنوان. قد يكون من الأفضل في هذه الحالة الحصول على ارتفاع SurfaceView نفسه واستخدامه لحساباتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top