سؤال

أنا أستخدم SurfaceView لرسم بعض الأشياء باستخدام قماش. المشكلة هي أنني أريد أن أظهر كل شيء أفقياً بشكل افتراضي وأبقيه على هذا النحو بغض النظر عن موضع الجهاز. أنا لا أستخدم أي ملف تخطيط XML لإظهار SurfaceView ؛ بدلاً من ذلك ، لدي فصل يمتد SurfaceView وأنا أفعله setContentView(new Panel(this)); لإظهار ذلك.

شكرا لمساعدتك.

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

المحلول

مشكلتك هي أن النشاط سيرغب في التدوير بناءً على موضع الجهاز أو لوحة المفاتيح (اعتمادًا على الجهاز هذا). إذا كنت تريد أن يتجاهل النشاط الدوران ، أضف android:screenOrientation="portrait" أو android:screenOrientation="landscape" إلى بيانك لهذا النشاط. قد ترغب أيضًا في إضافة android:configChanges="keyboardHidden|orientation" بالنسبة للنشاط أيضًا ، فإن Android لا يكلف نفسه عناء تدمير النشاط وإعادة إنشاءه عندما يغير المستخدم الاتجاه.

نرى هنا و هنا لمشاريع العينة المتعلقة بهذا.

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