1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 自定义dialog自动弹出软键盘

自定义dialog自动弹出软键盘

时间:2024-04-17 07:12:55

相关推荐

自定义dialog自动弹出软键盘

1.解决无法弹出输入法:

在show()方法调用之前,用dialog.setView(new EditText(context))添加一个空的EditText,由于是自定义的AlertDialog,有我们指定的布局,所以设置这个不会影响我们的功能,这样就可以弹出输入法了……

2.可以弹出输入法了,但了为了增强用户体验性,当dialog中含有editText时应该,在显示dialog的同时自动弹出键盘:

(1) 可以在自定义的dialog中增加如下方法:[java]view plaincopy publicvoidshowKeyboard(){if(editText!=null){//设置可获得焦点editText.setFocusable(true);editText.setFocusableInTouchMode(true);//请求获得焦点editText.requestFocus();//调用系统输入法InputMethodManagerinputManager=(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);inputManager.showSoftInput(editText,0);}}

其中editText为自定义dialog中的输入框的view

(2) 在dialog.show()后,调用这个方法显示输入法,由于在调用时可能dialog界面还未加载完成,editText 可能还为空,所以需要加上一个延时任务,延迟显示:

[java]view plaincopy dialog.show();Timertimer=newTimer();timer.schedule(newTimerTask(){@Overridepublicvoidrun(){dialog.showKeyboard();}},200);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。