/** Itt kéri tőlünk a framework azt, hogy hozzuk létre a beviteli eszközünk nézetét. */ @Override public View onCreateInputView() { super.onCreateInputView(); mContainerView = getLayoutInflater().inflate(R.layout.input, null); mStenoCanvas = (StenoCanvas) mContainerView.findViewById(R.id.canvas); mStenoCanvas.addOnGesturePerformedListener(this); mStenoCanvas.addOnClickListener(this); return mContainerView; }
@Override public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { // Log.d(TAG, "Strokes size: " + gesture.getStrokesCount()); InputConnection ic = getCurrentInputConnection(); for (GestureStroke stroke : gesture.getStrokes()) { GesturePoint[] points = ShorthandUtils.extractGesturePointsFromStroke(stroke); String result = mRecognizer.recognize(points); if (mParameters.isDebugEnabled()) { StenoCanvas canvas = (StenoCanvas) overlay; canvas.setDebugPaths(mRecognizer.getDebugPaths()); canvas.setDebugPoints(points); } if (result != null && result.length() > 0) { ic.commitText(result, 1); } else if (mParameters.isPopupsEnabled()) { Toast.makeText(mContext, R.string.not_found, Toast.LENGTH_SHORT).show(); } } }
/** Alaphelyzetbe hozza a beviteli eszközt. */ private void resetState() { if (mStenoCanvas != null) { // Visszaállítjuk alaphelyzetbe a rajzoló felületet. mStenoCanvas.reset(); } }