我想知道什麼時候設備大概需要改變方向,當我們旋轉它。在我的應用程序中,當我旋轉手機設備時,大約需要1到2秒的時間來旋轉屏幕。現在我的問題是,這是正常跨度還是延遲跨度。所以我可以相應地處理它。方向更改默認時間延遲...?
在此先感謝。
我想知道什麼時候設備大概需要改變方向,當我們旋轉它。在我的應用程序中,當我旋轉手機設備時,大約需要1到2秒的時間來旋轉屏幕。現在我的問題是,這是正常跨度還是延遲跨度。所以我可以相應地處理它。方向更改默認時間延遲...?
在此先感謝。
add在清單文件中添加android:configChanges="orientation|screenSize"
。例如
<activity
android:name="example.pangasinantranslator.MainActivity"
android:configChanges="orientation|screenSize"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
從一個小小的代碼研究,它看起來至少需要200毫秒才能旋轉視圖。這種延遲是爲了確保設備方向的改變是有意的。
代碼從WindowOrientationListener.java片斷供參考:
// The number of milliseconds for which the device posture must be stable
// before we perform an orientation change. If the device appears to be rotating
// (being picked up, put down) then we keep waiting until it settles.
private static final int SETTLE_TIME_MIN_MS = 200;
當朝向改變你當前活動的破壞,reloaded.So你可以認爲它需要時間從什麼需要從onCreate方法開始
「這種延遲是爲了確保方向的改變是有意的。」這沒有任何意義。 – Biu
@Biu,在用戶將設備放在桌子上或拿起桌子等情況下,設備的方向可能會短暫改變,但用戶可能並不打算改變視圖的方向。爲防止在這種情況下定位視圖,這種情況非常普遍,代碼確保在旋轉視圖以補償設備的新方向之前,設備的新/改變的方向在一段時間內保持穩定('SETTLE_TIME_MIN_MS') 。希望這是有道理的。 – MemoryLeak
@Biu,對於這個邏輯的代碼級別的理解,請參考WindowOrientationListener.java的'onSensorChanged()'方法(https://android.googlesource.com/platform/frameworks/base/+/android-4.0.4_r1/芯/ JAVA /機器人/視圖/ WindowOrientationListener.java) – MemoryLeak
這就是我的想法,但有人告訴我你的方向變化很慢,這就是爲什麼我認爲,我更好地向人們諮詢Stackoverflow。我們可以旋轉應用程序而不會破壞活動.. ????? – Rasel
@Rasel ...絕對 –
是的,你可以。 http://developer.android.com/resources/articles/faster-screen-orientation-change.html哦。你還必須閱讀關於onConfigurationChanged http://developer.android.com/guide/topics/resources/runtime-changes.html –