android如何調用顯示和隱藏系統預設的IME(一)

來源:互聯網
上載者:User

標籤:


1.調用顯示系統預設的IME

方法一、

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

imm.showSoftInput(m_receiverView(接受軟鍵盤輸入的視圖(View)),InputMethodManager.SHOW_FORCED(提供當前操作的標記,SHOW_FORCED表示強制顯示));

方法二、

InputMethodManager m=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); (這個方法可以實現IME在視窗上切換顯示,如果IME在視窗上已經顯示,則隱藏,如果隱藏,則顯示IME到視窗上)

2.調用隱藏系統預設的IME

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是當前的Activity)

3.擷取IME開啟的狀態

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
isOpen若返回true,則表示IME開啟

1、//隱藏軟鍵盤   

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);   

2、//顯示軟鍵盤,控制項ID可以是EditText,TextView   

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控制項ID, 0);  

3、不自動彈出鍵盤:

帶有EditText控制項的在第一次顯示的時候會自動獲得focus,並彈出鍵盤,如果不想自動彈出鍵盤,有兩種方法:

方法一:在mainfest檔案中把對應的activity設定

android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged"。

方法二:可以在布局中放一個隱藏的TextView,然後在onCreate的時候requsetFocus。

注意TextView不要設定Visiable=gone,否則會失效
,可以在布局中放一個隱藏的TextView,然後在onCreate的時候requsetFocus。
注意TextView不要設定Visiable=gone,否則會失效

1 <TextView2         android:id="@+id/text_notuse"3         android:layout_width="wrap_content"4         android:layout_height="wrap_content"5         android:focusable="true"6 android:focusableInTouchMode="true"  />7 8 TextView textView = (TextView)findViewById(R.id.text_notuse);9 textView.requestFocus();

 

android如何調用顯示和隱藏系統預設的IME(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.