成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

軟鍵盤管理

mumumu / 2708人閱讀

摘要:安卓開發(fā)一般都需要進(jìn)行軟鍵盤管理,常用操作老司機(jī)已為你封裝完畢,你可以用這份工具進(jìn)行管理,具體可以查看源碼,現(xiàn)在為你開車,傳送門。

??安卓開發(fā)一般都需要進(jìn)行軟鍵盤管理,常用操作老司機(jī)已為你封裝完畢,你可以用這份工具進(jìn)行管理,具體可以查看源碼,現(xiàn)在為你開車,Demo傳送門。

站點(diǎn) 軟鍵盤管理 → AppKeyBoardMgr
openKeybord      : 打卡軟鍵盤
closeKeybord     : 關(guān)閉軟鍵盤
TimerHideKeyboard: 通過定時(shí)器強(qiáng)制隱藏虛擬鍵盤
isKeybord        : 輸入法是否顯示
hideInputMethod  : 隱藏輸入法
showInputMethod  : 顯示輸入法
具體路線

public class AppKeyBoardMgr {

/**
 * 打開軟鍵盤
 *
 * @param mEditText  輸入框
 * @param mContext   上下文
 */
public static void openKeybord(EditText mEditText, Context mContext)
{
    InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
}

/**
 * 關(guān)閉軟鍵盤
 *
 * @param mEditText 輸入框
 * @param mContext  上下文
 */
public static void closeKeybord(EditText mEditText, Context mContext)
{
    InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
}

/**
 * 通過定時(shí)器強(qiáng)制隱藏虛擬鍵盤
 */
public static void TimerHideKeyboard(final View v) {
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm.isActive()) {
                imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),0);
            }
        }
    }, 10);
}

/**
 * 輸入法是否顯示
 */
public static boolean KeyBoard(EditText edittext) {
    boolean bool = false;
    InputMethodManager imm = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm.isActive()) {
        bool = true;
    }
    return bool;
}
/**
 * 切換軟鍵盤的狀態(tài)
 * 如當(dāng)前為收起變?yōu)閺棾?若當(dāng)前為彈出變?yōu)槭掌? */
public static void toggleKeybord(EditText edittext) {
    InputMethodManager inputMethodManager = (InputMethodManager)
        edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}

/**
 * 強(qiáng)制隱藏輸入法鍵盤
 */
public static void hideKeybord(EditText edittext) {
    InputMethodManager inputMethodManager = (InputMethodManager)
        edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    if (inputMethodManager.isActive()) {
        inputMethodManager.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
    }
}

/**
 * 強(qiáng)制顯示輸入法鍵盤
 */
public static void showKeybord(EditText edittext) {
    InputMethodManager inputMethodManager = (InputMethodManager)
        edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.showSoftInput(edittext, InputMethodManager.SHOW_FORCED);
}

/**
 * 輸入法是否顯示
 */
public static boolean isKeybord(EditText edittext) {
    boolean bool = false;
    InputMethodManager inputMethodManager = (InputMethodManager)
        edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    if (inputMethodManager.isActive()) {
        bool = true;
    }
    return bool;
}

/**
 * 隱藏輸入法
 *
 * @param mAct activity
 */
public static void hideInputMethod(Activity mAct) {
    try {// hide keybord anyway
        View v = mAct.getWindow().getCurrentFocus();
        if (v != null) {
            InputMethodManager imm = (InputMethodManager) mAct.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
        }
    } catch (Exception e) {
    }
}

/**
 * 顯示輸入法
 *
 * @param mAct activity
 */
public static void showInputMethod(final Activity mAct) {
    View v = mAct.getCurrentFocus();
    if (null == v) {
        return;
    }
    ((InputMethodManager) mAct.getSystemService(Activity.INPUT_METHOD_SERVICE)).showSoftInput(v, 0);
}

}

終點(diǎn)站

??好了,終點(diǎn)站到了,如果對本次旅途滿意的話,請給五星好評哦,沒關(guān)注的小伙伴輕輕點(diǎn)個(gè)上方的關(guān)注,畢竟老司機(jī)犧牲了很多時(shí)間才換來這么一份工具類,如果該工具類依賴其他工具類,都可以在我的史上最全的常用開發(fā)工具類收集(持續(xù)更新中)中找到。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70256.html

相關(guān)文章

  • 可能這些是你想要的H5鍵盤兼容方案

    摘要:然而,并沒有直接監(jiān)聽軟鍵盤的原生事件,只能通過軟鍵盤彈起或收起,引發(fā)頁面其他方面的表現(xiàn)間接監(jiān)聽,曲線救國。軟鍵盤收起表現(xiàn)觸發(fā)輸入框以外的區(qū)域時(shí),輸入框失去焦點(diǎn),軟鍵盤收起??梢宰屲涙I盤彈起后,讓焦點(diǎn)元素再次滾到可視區(qū),強(qiáng)迫滾到位。 前言 最近一段時(shí)間在做 H5 聊天項(xiàng)目,踩過其中一大坑:輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很明確,看似很簡單,其實(shí)不然。從...

    stackvoid 評論0 收藏0
  • 移動端鍵盤彈出時(shí)文本輸入框下沉、獲取焦點(diǎn)并彈出鍵盤

    摘要:文本輸入框容易下沉因?yàn)檐涙I盤彈出時(shí)是一個(gè)動畫方法利用滾動條,彈出軟鍵盤的時(shí)候讓滾動條滾動到最底部。效果點(diǎn)擊按鈕彈出輸入框獲取焦點(diǎn)并彈出軟鍵盤類似微信朋友圈空間。 ## 文本輸入框容易下沉因?yàn)檐涙I盤彈出時(shí)是一個(gè)動畫 ## //方法:利用滾動條,彈出軟鍵盤的時(shí)候讓滾動條滾動到最底部。并設(shè)置一個(gè)定時(shí)器每過0.5秒設(shè)置一次, //這個(gè)是因?yàn)檐涙I盤還沒有完全彈出滾動條已經(jīng)到此時(shí)的底部了,等軟鍵盤...

    keelii 評論0 收藏0
  • 移動端鍵盤彈出時(shí)文本輸入框下沉、獲取焦點(diǎn)并彈出鍵盤

    摘要:文本輸入框容易下沉因?yàn)檐涙I盤彈出時(shí)是一個(gè)動畫方法利用滾動條,彈出軟鍵盤的時(shí)候讓滾動條滾動到最底部。效果點(diǎn)擊按鈕彈出輸入框獲取焦點(diǎn)并彈出軟鍵盤類似微信朋友圈空間。 ## 文本輸入框容易下沉因?yàn)檐涙I盤彈出時(shí)是一個(gè)動畫 ## //方法:利用滾動條,彈出軟鍵盤的時(shí)候讓滾動條滾動到最底部。并設(shè)置一個(gè)定時(shí)器每過0.5秒設(shè)置一次, //這個(gè)是因?yàn)檐涙I盤還沒有完全彈出滾動條已經(jīng)到此時(shí)的底部了,等軟鍵盤...

    Doyle 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<