论坛首页 移动开发技术论坛

界面加载完成后自动弹出软键盘

浏览 16167 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-20  

最近逛其它论坛的时候看到有这样一个问题,需要界面加载完成后自动弹出软键盘。开始我认为没有那么麻烦,最后自己做了一个小例子,还真不好搞定,直到昨天再想这个的问题的时候,想到了界面渲染是不是需要一定的时间,所以不能把代码直接放到onCreate后执行了,带着这个疑问,我重写了下代码,最后效果和我的想法一致。不过还是希望知道android界面绘制机制的朋友可以帮忙解释下,我的想法是否正确。
代码如下:

edit = (EditText)findViewById(R.id.EditText01);
        edit.setVisibility(EditText.GONE);
        
        Timer timer = new Timer();
        timer.schedule(new TimerTask(){

			@Override
			public void run() {
				InputMethodManager m = (InputMethodManager)
	        	edit.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
				m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
				Toast.makeText(Key.this, "show", Toast.LENGTH_SHORT).show();
			}
        	
        }, 1000);

 

  • 大小: 12.6 KB
   发表时间:2009-10-20  
一个Activity中 EditText获得焦点后 默认情况下是否就直接弹出了软键盘了呢?
如果是这样,代码只需直接让EditText获得焦点就可以了啊。
0 请登录后投票
   发表时间:2009-10-20  
我想知道LZ的软键盘上的中文那个按钮是怎么弄出来的,需要怎样配置模拟器???
0 请登录后投票
   发表时间:2009-10-20  
xieyongwei 写道
一个Activity中 EditText获得焦点后 默认情况下是否就直接弹出了软键盘了呢?
如果是这样,代码只需直接让EditText获得焦点就可以了啊。


呵呵,我之前的想法和你一样,但是无法实现这点
主要的是我页面上没有任何组件显示,EditText被隐藏了
0 请登录后投票
   发表时间:2009-10-20  
Puras 写道
我想知道LZ的软键盘上的中文那个按钮是怎么弄出来的,需要怎样配置模拟器???


我这个是真机上的图,模拟器上,你长按文本框,就会提示你选择输入法
2 请登录后投票
   发表时间:2009-10-20  
mgssnake 写道
Puras 写道
我想知道LZ的软键盘上的中文那个按钮是怎么弄出来的,需要怎样配置模拟器???


我这个是真机上的图,模拟器上,你长按文本框,就会提示你选择输入法


原来是这个样子啊。
感谢!
0 请登录后投票
   发表时间:2009-11-13  
Toast.makeText(Key.this, "show", Toast.LENGTH_SHORT).show();  
报错咋回事捏
0 请登录后投票
   发表时间:2010-05-27  
你好,我最近要这样的需求,我之前通过看edittext源码,看一头雾水。我把edittext重写了一下,功能能实现。不知道能用上否。
我q353452133 有空交流
0 请登录后投票
   发表时间:2010-08-25  
你好,那么输入完以后,软键盘依旧存在,怎么样能使它自动缩回去呢。谢谢
0 请登录后投票
   发表时间:2010-08-26  
zhao2602523 写道
你好,那么输入完以后,软键盘依旧存在,怎么样能使它自动缩回去呢。谢谢

再调用一次toggleSoftInput方法
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics