本文主要是介绍对话框自动弹出软键盘_Android基础篇(Java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文 | Promise Sun
一、描述:
1. 场景:
很多时候,带EditText的自定义对话框,需要实现在弹出对话框的同时自动弹出输入软键盘。
2. 分析:
以前记录过一篇文章
《Android:如何设置底部控件view随着软键盘的弹出而上移》(感兴趣的朋友可以点击此处查看实现方式),
是需要点击EditText才弹出输入软键盘,并未实现随着对话框的显示而自动弹出输入软键盘。
若希望实现随着对话框的显示而自动弹出软键盘,其实也并不难。只需要先给EditText设置焦点,然后设置软键盘,最后再给软键盘设置一个延时功能,使对话框弹出来以后再让软键盘自动弹出来。这个延时的时间设置只要不是0,其他任意毫秒值都没问题,具体实现效果,大家可以自测试试,根据实际的项目需要效果去实现就可以了。
二、功能实现:
1. 首先在清单文件 AndroidManifest.xml 中给 对话框所在的Activity设置属性:
android:windowSoftInputMode="adjustPan"
2. 在自定义的对话框中加入以下代码即可。
//这里的editText是自定义对话框布局中的EditTexteditText.setFocusable(true);editText.setFocusableInTouchMode(true);editText.requestFocus();Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);}}, 100);//这里的100是设置的延时时间毫秒值,可按需要自行更改
这篇关于对话框自动弹出软键盘_Android基础篇(Java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!