Android 动态显示和隐藏软键盘

**
 * 动态设置软盘的显示和隐藏
 * @author JPH
 */
public class MainActivity extends Activity implements OnClickListener {

    private InputMethodManager inputMethodManager;
	private Timer timer;
	private EditText edit;

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit=(EditText)findViewById(R.id.edit);
        inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        timer = new Timer();
        timer.schedule(new TimerTask(){
            @Override
            public void run() {
                inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }, 1000);
    }

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.btnShow://显示软盘
			inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
			break;
		case R.id.btnHide://隐藏软盘
			inputMethodManager.hideSoftInputFromWindow(edit.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
			break;	

		default:
			break;
		}
	}  

}  

时间: 2024-11-02 23:28:01

Android 动态显示和隐藏软键盘的相关文章

Android 完美的隐藏软键盘方法

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: publicclassHomeActivityextendsActivity{     ......     @Override     publicboolean dispatchTouchEvent(M

[转]Android 完美的隐藏软键盘方法 点击编辑框外软键盘消失

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: public class HomeActivity extends Activity { ...... @Override public boolean dispatchTouchEvent(MotionE

Android -- 打开时隐藏软键盘

当activity中有edittext时,软键盘会自动弹出,有时希望隐藏软键盘(并保留edittext的focus,比如扫码)可以在activity onCreate时,使用以下代码来实现: this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

android显示和隐藏软键盘

显示键盘: EditText editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.show

Android隐藏软键盘

1,用java代码隐藏: /**隐藏软键盘**/        View view = getWindow().peekDecorView();        if (view != null) {            InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);            inputmanger.hideSoftInputF

Android开发,在Activity启动时,默认隐藏软键盘。和遮挡Edittext时的处理

在Activity启动时,默认隐藏软键盘: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="stateAlwaysHidden" ------------------------ 输入遮挡Edittext时的处理: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="adjustPan&qu

Android开发之如何隐藏软键盘

在Activity文件中加入下面的函数,实现点击空白处隐藏键盘: 1 @Override 2 public boolean onTouchEvent(MotionEvent event) 3 { 4 if(event.getAction()==MotionEvent.ACTION_DOWN){ 5 if(this.getCurrentFocus().getWindowToken()!=null){ 6 //获取此Activity的软键盘服务 7 InputMethodManager imm=(I

Android点击空白处,隐藏软键盘

在做登陆或者注册的时候,软键盘经常可能会挡住一些界面.我们需要在输入完成之后隐藏软键盘. 在我们点击空白处或者非EditText的地方来隐藏软键盘. public class HomeActivity extends Activity { ...... @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的

隐藏软键盘随笔

1>软键盘的状态——隐藏或显示. 一:自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0,