Android 軟鍵盤控制彈出(很好使,自己寫的,絕對能用)

來源:互聯網
上載者:User

Android 軟鍵盤控制彈出(很好使,自己寫的,絕對能用)

最近在做電商類的項目,由於需求的不斷變動,在有關輸如文字框的地方,要求彈出軟鍵盤,如果介面很多的下,則需要些很多代碼,在閒置時候,寫了一個軟鍵盤管理類,很好使,自己寫的,親自試過,這是一個軟鍵盤控制單例模式實現的。

代碼如下:

 

package com.okdi.ilife.activity.login;import android.app.Activity;import android.content.Context;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.EditText;/** * 類功能描述:軟鍵盤管理介面 *  * @author yuyahao * @version 1.0 

 

修改時間:
修改備忘:
*/ public class InputManager { private Context context; public static InputManager inputManager; private InputMethodManager imm; private InputManager(Context context){ this.context = context; // 得到InputMethodManager的執行個體 imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); totleShowSoftInput(); } public static InputManager getInstances(Context context){ if(inputManager == null){ inputManager = new InputManager(context); } return inputManager; } /** * 切換軟鍵盤的顯示與隱藏 */ public void totleShowSoftInput(){ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } /** * 判斷軟鍵盤 彈出 */ public void showSoftInput(){ if (!imm.isActive()) { // imm.toggleSoftInput(0, InputMethodManager.RESULT_SHOWN); } } /** *關閉軟鍵盤 *針對於 有一個EdtxtView * @param input_email */ public void hideSoftInput(EditText input_email){ if (imm.isActive()) { // 關閉軟鍵盤,開啟方法相同,這個方法是切換開啟與關閉狀態的 imm.hideSoftInputFromWindow(input_email.getWindowToken(), 0); } } /** * 針對於 有多個EdtxtView * 關閉所有的軟鍵盤 */ public void hideALlSoftInput(){ View view = ((Activity) context).getWindow().peekDecorView(); if (view != null) { imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } } }
有時候我們還需要設定其EditText的輸入類型:

 

 

android:inputType=none--輸入一般字元android:inputType=text--輸入一般字元android:inputType=textCapCharacters--輸入一般字元android:inputType=textCapWords--單詞首字母大小android:inputType=textCapSentences--僅第一個字母大小android:inputType=textAutoCorrect--前兩個自動完成android:inputType=textAutoComplete--前兩個自動完成android:inputType=textMultiLine--多行輸入android:inputType=textImeMultiLine--IME多行(不一定支援)android:inputType=textNoSuggestions--不提示android:inputType=textUri--URI格式android:inputType=textEmailAddress--電子郵件地址格式android:inputType=textEmailSubject--郵件主題格式android:inputType=textShortMessage--短訊息格式android:inputType=textLongMessage--長訊息格式android:inputType=textPersonName--人名格式android:inputType=textPostalAddress--郵政格式android:inputType=textPassword--密碼格式android:inputType=textVisiblePassword--密碼可見格式android:inputType=textWebEditText--作為網頁表單的文字格式設定android:inputType=textFilter--文本篩選格式android:inputType=textPhonetic--拼音輸入格式android:inputType=number--數字格式android:inputType=numberSigned--有符號數字格式android:inputType=numberDecimal--可以帶小數點的浮點格式android:inputType=phone--鍵盤android:inputType=datetimeandroid:inputType=date--日期鍵盤android:inputType=time--時間鍵盤

 

這樣一來,我們就可以對其進行控制了,是不是很好使啊!

 

老於始終堅信:

沒有做不到的,只有想不到了。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.