2011-07-11 29 views

Trả lời

86

Hãy thử điều này:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
//Do your operation 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
+0

Tôi đã phải sử dụng 'SCREEN_ORIENTATION_SENSOR_PORTRAIT' thay vì' SCREEN_ORIENTATION_SENSOR'. –

+0

Tôi biết nó là một chủ đề cũ nhưng không thể làm việc này .... –

+2

Nếu người dùng đang cầm một máy tính bảng trong REVERSE_PORTRAIT, điều này sẽ thay đổi hướng để chân dung và sau đó một lần nữa để cảm biến. Vì vậy, tôi có thể nhận được giá trị định hướng bằng cách sử dụng 'getResources(). GetConfiguration(). Orientation' nhưng nó trả về 1 cho cả hai chiều dọc cũng như reverse_portrait .... Làm thế nào để tôi có được định hướng chính xác? Cảm ơn –

4

Tôi đang đọc câu hỏi của bạn một chút, nhưng nếu sự cố bạn đang gặp phải là việc tải lại hoạt động gây ra sự cố, bạn có thể thêm vào tệp kê khai để xử lý các thay đổi định hướng. Có thể bạn sẽ cần phải làm điều này anyway nếu bạn muốn làm một cái gì đó đặc biệt cho những thay đổi hướng, nhưng có lẽ chỉ thêm các dòng sẽ chăm sóc của các vấn đề của bạn cho bạn:

<activity android:name=".MyActivity" 
    android:configChanges="keyboard|keyboardHidden|orientation" /> 
+0

Điều này làm việc tốt hơn nhiều –

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