無効のフルスクリーンビューの編集のためのソフトキーボード入力いない。
-
30-09-2019 - |
質問
Androidデバイスを使用するソフトキーボードしたい予防にフルスクリーンは横置き設定時のキーボード編集ビュー(下記参照)から現れる時にはランドスケープモード(見たいだけのソフトキーボード自体、私の後ろう。
っているものと推察されるを採用することで実現できる setExtractViewShown(false)
方法 InputMethodService
, かもしれませんが、同じアクセスできていないデフォルトのインスタンスは、このため、カスタム入力方法です。
編集追加: による入力ではありません TextView
(それ View
とカスタム InputConnection
実施) android:imeOptions="flagNoExtractUi"
が成り立たないと思う。
解決
私 ついに 私自身の質問に答えました:
抽出UI(つまり、フルスクリーン編集モード)は、入力接続が接続されているポイントで無効にできます。
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI;
// etc.
}
他のヒント
それを行うには、アクティビティXMLに移動して貼り付けます android:imeOptions="flagNoExtractUi"
あなたのコードで。しかし、それはどこに貼り付けるべきですか? XMLの例のコードを見て、edittextを見てください。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:imeOptions="flagNoExtractUi"
android:id="@+id/etTextInAct"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
</LinearLayout>
キーボードのカスタマイズオプションが増えたい場合は、参照してください http://developer.android.com/guide/topics/ui/controls/text.html
プロパティを追加します android:imeOptions="flagNoExtractUi"
それぞれに EditText
あなたの中で XML
ファイル。
上記の答えは、動的に追加された編集の解決策を理解するのに役立ちました。
editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
使用する android:imeOptions="flagNoFullscreen"
その機能を達成するため。
また、複数のImeoptions Programaticalyを組み合わせたい場合は、|を使用できます。構文。
たとえば、ランドスケープのフルスクリーンの編集ビューを無効にし、キーボードの「OK」(Action_Done)で「次の」キーを置き換えるために、次を使用できます。
editText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI);
IMEを直接変更している場合は、オーバーライドして抽出されたビューを表示するのを防ぐことができます onUpdateExtractingVisibility
:
@Override
public void onUpdateExtractingVisibility(EditorInfo ei) {
ei.imeOptions |= EditorInfo.IME_FLAG_NO_EXTRACT_UI;
super.onUpdateExtractingVisibility(ei);
}
いでちょっと遅いものの方にとても興味があり、ここでの私の解私風景 活動 を含有する EditText ではないを実施する上で必要となる自動補完機能この検索 活動, の重複キーボードのような問題をユーザーできなかった結果、 RecyclerView.ようになっているこ EditText 私のレイアウト:
<EditText
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:id="@+id/main_search_et"
android:imeOptions="actionSearch|flagNoExtractUi"
android:inputType="text" />
感謝!
使用できます:
android:imeOptions="flagNoFullscreen"
あなたの編集で
私の解決策:
android:imeOptions="flagNoExtractUi|flagNoFullscreen"
ソフトキーボードを非表示にし、SearchViewからフォーカスを明確にするために電話をかけることができます。
public void hideKeyboard(View view) {
InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
super.clearFocus();