問題タブ [window-soft-input-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - キーボードを開いたときにレイアウトが調整されない
こんにちは、activity.xmlファイルに次のレイアウトがあります
次の行を追加しましたManifest.xml
しかし、Buttons align parent bottomキーボードを開くと非表示になります。レイアウト自体のサイズは変更されません。
私は何が欠けていますか?
更新されたビュー
scrollviewビューを更新してと の間に追加しtoolbarましたbuttons。提案されているように、アクティビティにも追加getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);しました。機能しますが、完全ではありません。Buttonsでビューを重ねますscroll view。添付画像です
android - 向きを変えるとキーボードが隠れる
似たような質問はすでに何度か出ていますが、あってはならない奇妙な規則性を発見しました。
そのレイアウトにはありActivityます。EditTextユーザーがそのフィールドをクリックすると、ソフト入力が表示されます。フラグを にandroid:windowSoftInputMode="stateUnchanged"追加するとAndroidManifest、デバイスの向きが変わってもすべてが期待どおりに機能します - キーボードはその状態を保持します。しかし、Fragmentその上にActivityあるEditText場合Fragmentは機能しません。AndroidManifestこの場合、フラグオンはスキップされ(フラグはカバーのみActivity)、向きの変更中にキーボードが消えると想定しています。
向きの変更時にキーボードの状態を保持するためのクリーンなソリューションが見つかりませんでした。手動でキーボードをオンonActivityCreated()に表示する解決策を見ましたが、方向の変更に耐えられるオブジェクトの変数でキーボードの可視性状態を保持する必要があるため、好きではありません。私が見つけたのは、にある場合EditText、Activityユーザーが触れず、フォーカスされていない場合でも、キーボードはその状態を保持することです。これはまったく予想外です。
で使用されているため、取り外しFragmentて頼ることはできません。しかし、これは が に直接接続されている場合にも発生することを確認しました。ActivityFragmentsViewPagerFragmentActivity
また、チェックしたすべてのアプリケーションで、その問題が何らかの形で解決されていることもわかりました。
フラグメントによる向きの変更時にキーボードの状態を保持するためのクリーンなソリューションはありますか?
編集:android:configChanges="orientation|screenSize"オプションも嫌いです。