2011-08-22 86 views
6

有沒有辦法將橫向模式設置爲整個應用程序,而不是通過將android:screenOrientation="portrait"添加到AndroidManifest中的每個活動?爲整個應用程序禁用橫向模式

+2

這不是你應該如何處理Android的這種事情。除非你有足夠的理由這樣做,否則我會建議在清單中這樣做。 – Codeman

回答

10

這是我能想到的唯一的事情。編寫擴展活動的一類,把該類中以下內容:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

然後,而不是在你的其他類擴展活動,擴展新類。

+0

你在哪裏把這個,在oncreate方法? – theJerm

+1

是的 - 你可以把它放在超類的onCreate方法中。只要不要忘記從擴展課程中調用super.onCreate。 – SBerg413

+0

感謝您的回覆。 – theJerm

0

您可以嘗試將該屬性放入清單的節點中。我不知道是否支持。如果不是,恐怕把它放在你的每一個將成爲下一個最簡單的方法。

您可以通過使自己成爲一個CustomActivity來擴展活動並將窗口標誌設置爲onCreate中的肖像來實現它。然後,通過所有其他活動,您可以擴展CustomActivity而不是普通的Activity。

7

這樣做的一種編程方式,我能想到的是創建一個超類,它擴展活動並從那裏擴展所有類。

已在受保護的方法在超類下面的設置和調用super.xxx()來啓動這樣的:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

如果您有什麼不同的方式具體的活動,你可以簡單地覆蓋這個。

[我沒有試過呢,但OOP的知識這部作品]

+2

有時當一個活動開始使用這種方法時,它可以快速從風景跳到人像,所以我會建議不要這樣! – Dori

相關問題