Android EditText自定义按键盘

效果图:

主要问题点:

1.如何在点击edittext时不让系统的默认键盘显示出来?

2.如何在点击button后把数字传入到edittext中?

 

1.如何在点击edittext时不让系统的默认键盘显示出来

   网上有很多种方法,自己试过之后都不行,后面在Android源码中找到两种方法;

   a.重写edittext 中ontouch方法,直接屏蔽掉MotionEvent.ACTION_UP

 if (event.getActionMasked() == MotionEvent.ACTION_UP) {
          cancelLongPress();
     }

   b.重写edittext中的ontouch方法,手动的把按键盘关掉:

    public boolean onTouchEvent(MotionEvent event) {
        final boolean ret =super.onTouchEvent(event);
       final InputMethodManager imm = ((InputMethodManager) getContext()
               .getSystemService(Context.INPUT_METHOD_SERVICE));
       if (imm != null && imm.isActive(this)) {
           imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
       }
       return ret; 
    }

 

2.如何在点击button后把数字传入到edittext中

 这个相对比较简单,在button的onclick方法中,把相应的字符插入到edittext中:

	public void onClick(View view) {
		// TODO Auto-generated method stub
		if (view instanceof Button) {
        String text = ((Button) view).getText().toString();	
		int cursor=mEditText.getSelectionStart();
		mEditText.getText().insert(cursor,text);	
		}		
		}


源码下载:http://download.csdn.net/detail/txj8612/7215135

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章