android软键盘弹出字符

时间:2016-01-06 20:28:16

标签: android android-softkeyboard

我正在开发android软键盘,我在弹出布局字符时遇到问题。 enter image description here
  在上面的图片中,@是#。用户长按#的弹出字符。@出现。

我的问题:我想如果用户触摸@字符以外或按设备的后退按钮弹出窗口(@)消失,但它会出现,直到用户按@。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您只需覆盖onTouchEvent来检测手势并隐藏弹出视图。弹出字符使用在键盘布局(XML)中使用android:keyPreviewLayout标记指定的自定义布局。

请参阅下面的示例onTouchEvent

@Override
public boolean onTouchEvent(MotionEvent event){

    int action = MotionEventCompat.getActionMasked(event);

    switch(action) {
        case (MotionEvent.ACTION_DOWN) :
            Log.d(DEBUG_TAG,"Action was DOWN");
            return true;
        case (MotionEvent.ACTION_MOVE) :
            Log.d(DEBUG_TAG,"Action was MOVE");
            return true;
        case (MotionEvent.ACTION_UP) :
            Log.d(DEBUG_TAG,"Action was UP");
            return true;
        case (MotionEvent.ACTION_CANCEL) :
            Log.d(DEBUG_TAG,"Action was CANCEL");
            return true;
        case (MotionEvent.ACTION_OUTSIDE) :
            Log.d(DEBUG_TAG,"Movement occurred outside bounds " +
                    "of current screen element");
            return true;
        default :
            return super.onTouchEvent(event);
    }
}