[英]Cordova plugin listening to device orientation change. Is it possible?
我盡力開發一種插件,該插件可以偵聽方向更改以進行必要的更改,而無需添加必需的JavaScript代碼或編輯活動Java代碼的必要性。
有一些使用directionChangeListener的選項,但我只需要偵聽縱向和橫向模式之間的切換,而不必偵聽設備的標題。 這是可用的,但是對於這個小任務來說太可怕了。
還有其他解決方案嗎? 是否可以修改主要活動的onConfigurationChanged方法或創建一些新的onCofigurationChange偵聽器? 或事實上,CordovaPlugin不知道他周圍發生了什么?
您的Cordova插件需要同時編寫Javascript和Java代碼。 就像您將要編寫Java腳本一樣,這還不夠嗎?
window.addEventListener("orientationchange", function() {
if (Math.abs(window.orientation) === 90) {
// landscape view
} else {
// portrait view
}
}, false);
我已經找到了解決方法(感謝Cordova郵件列表中的Andrew Grieve),所以如果有人遇到類似問題,我將其發布在這里。 關鍵是視圖(WebView或其他視圖,如果插件添加任何視圖)的onLayoutChangeListener。
將以下代碼放在某些插件方法中:
webView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right,
int bottom, int oldLeft, int oldTop, int oldRight,
int oldBottom) {
// some code
}
});
但是,有一個很大的問題。 該偵聽器在API11 +中可用,因此不能在Android 2.2或2.3上運行...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.