HardBirch

Android EditText自动弹出输入法(启动activity)

时间:13-01-05 栏目:安卓入门与提高 作者:魔豆先生 评论:0 点击: 10,373 次

方法一:

manifest对应的Activity的配置,将EditText设置属性 android:windowSoftInputMode=stateVisible,在进入这个页面的时候,默认弹出输入法

<activity android:name=".ui.login"
android:configChanges="orientation|keyboardHidden|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible|adjustPan" >
</activity>

 

方法二:

/**
* 显示键盘 操作一
*
* @param context
* @param view
*/
public static void showInputMethod(Context context, View view) {
InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
im.showSoftInput(view, 0);
}

 

/**
* 显示键盘 操作二
*
* @param context
* @param view
*/
InputMethodManager inputManager = (InputMethodManager) getApplication().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}

 

问题又来了....

如果直接在oncreate()中调用,没有进行延时,输入法还是无法弹出。因为 oncreate的时候 view还没有被create出来,所以需要延时进行...

操作如下:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
                                                 //此处EditText获得焦点或者软键盘弹出操作
                                                 ...................
                                                //  InputMethodManager imm = (InputMethodManager)MainActivity.this.getSystemService(INPUT_METHOD_SERVICE); 
                                                // imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 
}
}, 1000);  //在一秒后操作
}

 

加黑部分代码可以采用上述的两种  操作方法替换来进行。

 

 

声明: 本文由( 魔豆先生 )原创编译,转载请保留链接: Android EditText自动弹出输入法(启动activity)

Android EditText自动弹出输入法(启动activity):等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐