本文实例讲述了Android实现弹出键盘代码,是一个非常实用的功能。代码非常简洁。分享给大家供大家参考。

具体功能代码如下:

?
1 2 3 4 5 6 7 8 Timer timer = new Timer(); timer.schedule( new TimerTask() { @Override public void run() { InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); m.toggleSoftInput( 0 , InputMethodManager.HIDE_NOT_ALWAYS); } }, 300 );

希望本文所述对大家Android程序设计的学习有所帮助。

其他

当我们弹出一个Dialog时候,如果这个Dialog需要输入数据,然后确定后又需要关闭输入法,一般系统的hide,跟show方法总会有各种问题,最霸道的解决方法就是写一个定时器,定时弹出或者关闭输入法。

import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;


public class InputTools {


//隐藏虚拟键盘
public static void HideKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) ) {
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );

}
}

//显示虚拟键盘
public static void ShowKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );

imm.showSoftInput(v,InputMethodManager.SHOW_FORCED);

}

//强制显示或者关闭系统键盘
public static void KeyBoard(final EditText txtSearchKey,final String status)
{

Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager m = (InputMethodManager)
txtSearchKey.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(status.equals("open"))
{
m.showSoftInput(txtSearchKey,InputMethodManager.SHOW_FORCED);
}
else
{
m.hideSoftInputFromWindow(txtSearchKey.getWindowToken(), 0);
}
}
}, 300);
}

//通过定时器强制隐藏虚拟键盘
public static void TimerHideKeyboard(final View v)
{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
}
}
}, 10);
}
//输入法是否显示着
public static boolean KeyBoard(EditText edittext)
{
boolean bool = false;
InputMethodManager imm = ( InputMethodManager ) edittext.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
bool = true;
}
return bool;

}
}

更多相关文章

  1. Android 登录界面调用输入法时让界面自动上移,使输入法不会遮挡到
  2. Android中点击按钮后隐藏输入法
  3. Android使edittext弹出的软键盘位于输入框下面而不是覆盖输入框
  4. Android中弹出输入法界面不影响APP界面解决办法
  5. Android 自定义像素AVD模拟器无键盘
  6. 5.17学习内容 android判断软键盘状态、系统键盘监控、生成中间lo
  7. Android自动化测试初探(四): 模拟键盘鼠标事件(Socket+Instrumentat

随机推荐

  1. android MapView 定位与Overlay onTap事
  2. [Android问答] 开发环境问题集锦
  3. Android(安卓)studio中Git的学习和使用心
  4. Java转Android开发不得不知的一些经验
  5. 【Android】Android的消息机制
  6. Linux/Android——Input系统之InputMappe
  7. Android(安卓)NDK下编译google protocol
  8. Android之Adapter用法总结
  9. Android圆形控件
  10. Android之NDK开发