كيف ترسم قماشًا فيما يتعلق بتوجه الهاتف (المشهد ، صورة)؟

StackOverflow https://stackoverflow.com/questions/3907844

سؤال

لا توجد مشكلة في وضع الصورة ، لكن عندما أجرب تطبيقي على وضع المناظر الطبيعية ، لا يبدو الأمر كذلك. تتبع كيف أفعل هذا؟ هل يجب أن أستخدم عبارة if في بداية وظيفة OnDraw () وكتابة نفس الرمز مرتين (واحد لـ x و y والآخر لـ y ، x)؟

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

المحلول

يجب ألا تكون هناك حاجة إلى تبديل إحداثيات X و Y في الرسم. بشكل افتراضي ، عند تدوير التطبيقات ، وكذلك أنظمة الإحداثيات.

نصائح أخرى

يبدو أنك تحدد العروض والارتفاعات المطلقة لمكالمات الرسم. على سبيل المثال ، إذا قمت بحفظ mywidth = 480 و myheight = 800 في وقت مبكر ، وقمت بكل رسمك بهذه الطريقة ، ثم عندما يتم تدوير الجهاز ، لم تعد هذه العروض والارتفاع تنطبق.

أعتقد أن الحل لك هنا هو الاستماع إلى عمليات الاسترجاعات التي تم تغييرها في الحجم وإعادة ضبط فكرتك عن العرض والارتفاع وفقًا لذلك. إذا كنت ترسم مباشرة في عرض ، فأنت تريد تجاوز عرض. onsizechanged().

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