2011-02-21 28 views
10

Thẻ android:screenOrientation khi đặt trong <application> không hoạt động. Nhưng khi tôi đặt android:screenOrientation vào thẻ <activity> hoạt động.android: screenOrientation tag trong ứng dụng không hoạt động

Nếu android:screenOrientation thẻ hoạt động sau <application> thì sẽ không cần phải xử lý android:screenOrientation cho mọi hoạt động.

Tôi tự hỏi, tại sao có hành vi lạ như vậy trong nền tảng Android cho thẻ screenOrientation?

+1

khi được đặt trong .. cái gì? Nước ? ;) – Reno

+1

Vui lòng lặp lại câu hỏi của bạn. – TheCottonSilk

+1

Tôi tin rằng anh ấy hỏi lý do screenOrientation KHÔNG phải là thành viên của nhưng chỉ có . Zoombie? – Samuh

Trả lời

22

Phần tử <application> không hỗ trợ android:screenOrientation. Bạn có thể nói điều này bằng cách reading the documentation.

Vì sao nó không được hỗ trợ trong phần tử <application>, tôi tưởng tượng ít nhất là một phần vì bạn không nên sử dụng nó trên nhiều hoạt động, và có lẽ không phải tất cả các hoạt động.

Ví dụ: đề xuất android:screenOrientation="portrait" chỉ đơn giản là không nên thực hiện, khá nhiều. landscape Tôi có thể hiểu, đối với một số loại hoạt động nhất định (máy ảnh, trình phát video, một số trò chơi). Nhưng portrait có nghĩa là:

  • Bạn không muốn người dùng có thể sử dụng bàn phím phần cứng phụ trượt của họ
  • Bạn không muốn người dùng có thể sử dụng tablet của họ trong định hướng điều hành Android nguyên thiên nhiên phong cảnh
  • Bạn không muốn để chạy trên Google TV

android:screenOrientation nên chỉ được sử dụng vào những hoạt động hoàn toàn tích cực được trong định hướng đó. Nếu không, vui lòng tôn trọng mong muốn của người dùng của bạn về việc sử dụng định hướng nào. Không cho phép bạn đặt nó cho toàn bộ ứng dụng chỉ đơn giản là một cách để giúp đảm bảo rằng bạn thực sự nghĩ về việc liệu nó có cần thiết cho một hoạt động cụ thể hay không.

Các vấn đề liên quan