Android打開(kāi)關(guān)閉軟鍵盤

Edittext在項(xiàng)目十分常見(jiàn),當(dāng)用到搜索功能時(shí),進(jìn)入搜索頁(yè)面需要自動(dòng)彈出軟鍵盤,點(diǎn)擊搜索,就要將軟鍵盤關(guān)閉,這里就是我的軟鍵盤工具類,實(shí)現(xiàn)的2個(gè)功能:

1.軟鍵盤的打開(kāi)與關(guān)閉
2.判斷當(dāng)前軟鍵盤是否打開(kāi)

import android.app.Activity;
import android.content.Context;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import java.util.Timer;
import java.util.TimerTask;

public class KeybordUtil {
    /**
     * 自動(dòng)彈軟鍵盤
     *
     * @param context
     * @param et
     */
    public static void showSoftInput(final Context context, final EditText et) {
        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                ((Activity) context).runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        et.setFocusable(true);
                        et.setFocusableInTouchMode(true);
                        //請(qǐng)求獲得焦點(diǎn)
                        et.requestFocus();
                        //調(diào)用系統(tǒng)輸入法
                        InputMethodManager inputManager = (InputMethodManager) et
                                .getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                        inputManager.showSoftInput(et, 0);
                    }
                });
            }
        }, 200);
    }

    /**
     * 自動(dòng)關(guān)閉軟鍵盤
     * @param activity
     */
    public static void closeKeybord(Activity activity) {
        InputMethodManager imm =  (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        if(imm != null) {
            imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
        }
    }

    /**
     * 打開(kāi)關(guān)閉相互切換
     * @param activity
     */
    public static void hideKeyboard(Activity activity) {
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm.isActive()) {
            if (activity.getCurrentFocus().getWindowToken() != null) {
                imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評(píng)論 25 709
  • 今天上午來(lái)到公司后。測(cè)試項(xiàng)目時(shí)發(fā)現(xiàn)好友頁(yè)面的搜索好友功能。只可以彈出一次軟鍵盤,當(dāng)?shù)谝淮问謩?dòng)關(guān)閉后,第二次死也彈不...
    魯克巴克詩(shī)閱讀 1,492評(píng)論 0 1
  • 這兩天孩子們都返回校園了,我同事的孩子今年上初一,同事心里各種忐忑不安,找人解決孩子中午吃飯問(wèn)題,想辦法把孩子...
    格格巫2015閱讀 229評(píng)論 0 0
  • 當(dāng)男人愛(ài)上吃雪糕的女人時(shí),實(shí)際上他并不會(huì)象女人般喜歡吃雪糕,他愛(ài)吃的是女人的豆腐,就如同老董和老狼在上下九逛...
    雁心閱讀 373評(píng)論 0 0
  • 我今天喝了兩杯星巴克,吃了兩個(gè)大雞肉,和一個(gè)蛋撻,這是我的極限了,可能接下來(lái)的話都是因?yàn)槲页燥柫?,撐的?上面是我...
    璞予及茶閱讀 363評(píng)論 0 0

友情鏈接更多精彩內(nèi)容