私も旧姓をしましたこれを実装するためにded。私はそれをし、それは完全に動作します。
最初にコードバプラグインのキーボードを使用する必要があります。開始時に cordova.plugins.Keyboard.disableScroll(true);
と呼ぶので、キーボードは表示を押し上げません。第二 あなたはハンドラを使用してこのようなkeyboardshowとキーボード非表示イベントをリッスンする必要があります:あなたはこのようなイベントから、観察することができたより
cordova.plugins.Keyboard.disableScroll(true);
window.addEventListener('native.keyboardshow', this.dispatchMe);
window.addEventListener('native.keyboardhide', this.dispatchMeHide);
dispatchMe(e) {
var event = new CustomEvent('keyboardShown');
event['keyboardHeight'] = e.keyboardHeight;
document.dispatchEvent(event);
}
dispatchMeHide() {
var event = new CustomEvent('keyboardShown');
event['closed'] = true;
document.dispatchEvent(event);
}
:
this.keyboardObservable = Observable.fromEvent(document, 'keyboardShown');
あなたはそれを聞くことができるより観察可能である。キーボードが開いている場合は、メッセージが表示されているコンテナの高さを変更します。あなたは基本的にキーボードの高さを低くしなければなりません。ここで私はあなたがこの
[ngStyle]="{'height': sectionHeight}"
ようngStyleでこれらのプロパティを変更
this.chatService.keyboardObservable
.subscribe(data => {
if (data.closed) {
this.sectionHeight = 85 + '%';
this.inputBottom = 0 + '%';
}
else {
this.docHeight = document.body.clientHeight;
this.sectionHeight = ((this.docHeight - data.keyboardHeight - (document.getElementById('toptoolbar').clientHeight + document.getElementById('inputchat').clientHeight))/this.docHeight) * 100 + '%';
this.inputBottom = data.keyboardHeight/this.docHeight * 100 + '%';
}
});
と私はまた、chatappのためにこれを必要とすることをどうやっあり、今では完全に(あなたが回転した場合でも動作します、画面の肖像/風景モード)、入力は常にちょうどネイティブアプリケーションのようにキーボードの上に浮かぶ:)
私は、これはあなたを助けることを願っています!
これは私にとって魅力的でした!ありがとう – user3153278
これは私を夢中にさせてくれました。素晴らしい、簡単な解決策。 – Matt
回答は魅力的に機能し、プラグインなどで苦労しています。 – JoeriShoeby