5

मेरे पास एक मोनोडायड एप्लिकेशन है और मैं अपनी सभी गतिविधियां केवल पोर्ट्रेट अभिविन्यास में प्रस्तुत करने के लिए मजबूर करना चाहता हूं।एंड्रॉइड के लिए मोनो - पोर्ट्रेट ओरिएंटेशन में सभी गतिविधियां

मैं था, हालांकि इस तरह के रूप में एक एक गतिविधि आधार classe बनाने के बारे में:

[Activity (ScreenOrientation = ScreenOrientation.Portrait)]   
public abstract class BaseActivity : Activity 
{ 
} 

अपने आवेदन के सभी अन्य गतिविधियों तो यह से विरासत (भी पुनरावृत्ति से बचने और ScreenOrientation = ScreenOrientation.Portrait को परिभाषित करने के लिए एक केंद्रीय स्थान नहीं है) चाहिए ।

हालांकि, यदि आप ActivityAttribute परिभाषा को देखते हैं, तो ऐसा लगता है कि यह विरासत का समर्थन नहीं करता है।

[Serializable] 
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] 
public sealed class ActivityAttribute : Attribute { ... } 
  1. मैं अपने आवेदन की सभी गतिविधियों में Activity (ScreenOrientation = ScreenOrientation.Portrait) डाल करने के लिए है?
  2. क्या एंड्रॉइड दुनिया में केवल पोर्ट्रेट अभिविन्यास का समर्थन करना बुरा विचार है? (मेरे पास पोर्ट्रेट-केवल आईओएस एप्लिकेशन है जो वास्तव में अच्छी तरह से काम करता है और परिदृश्य पर काम करने की आवश्यकता नहीं है)।

उत्तर

5

आपको प्रत्येक गतिविधि पर विशेषता डालना होगा। यदि आप एक मूल एंड्रॉइड एप्लिकेशन बना रहे थे तो आपको मैनिफ़ो के लिए मोनो को यह गुण सिग्नल का उपयोग करके, android:screenOrientation="portrait" के साथ मेनिफेस्ट में प्रत्येक गतिविधि को चिह्नित करने की आवश्यकता होगी।

दुर्भाग्य से विशेषता आपके द्वारा देखी गई विरासत में नहीं है।

+0

यह वास्तव में sux है, क्योंकि अगर मैं अपनी गतिविधियों के लिए कुछ डिफ़ॉल्ट थीम/पृष्ठभूमि छवियों/अभिविन्यास सेटिंग्स सेट करना चाहता हूं तो मैं इसे बेस क्लास में नहीं बना सकता। इससे कोड कोड दोहराया जाता है –

+0

@EduardoCoelho आप अभी भी बेस क्लास का उपयोग कर सकते हैं, लेकिन प्रत्येक गतिविधि को ओरिएंटेशन सेट अलग-अलग होना चाहिए – dmck

संबंधित मुद्दे