项目需求,点击一个按钮,弹出对话框(对话框里面是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,就能将软键盘自动隐藏了。
}
很简单。不赘述了。