項目需求,點擊一個按鈕,彈出對話框(對話框裏面是edittext),在對話框彈出的同時軟鍵盤也要彈出來,對話框收起的同時也需要將軟鍵盤收起。剛剛開始爲這個問題頭痛了好一會,最終還是解決了。現在分享給大家吧:
/**
* 自動打開鍵盤
* @param context
* @param v
*/
private static void openSoftKeybroad(final Context context,final View v)
{
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run()
{ //彈出軟鍵盤的代碼
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(v, InputMethodManager.RESULT_SHOWN);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
}
}, 300);
}
/**
* 自動關閉鍵盤
* @param context
* @param v
*/
private static void closeSoftKeybroad(Context context,View v)
{
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);//設爲0,就能將軟鍵盤自動隱藏了。
}
很簡單。不贅述了。