2017-01-22 2 views
0

Ich habe eine Frage, die im Grunde die gleichen wie diese ist: Zoom Content in a RelativeLayoutZoom auf Qwerty-Tastatur auf ZoomableRelativeLayout

von dispatchDraw (Canvas Leinwand) verwendet, kann ich ZoomableRelativeLayout skalieren, aber wenn ich auf der gezoomte in Sicht, Die untergeordnetenViews skalieren nicht mit ihrem übergeordneten Element (RelativeLayout). Daher wird jedes Mal ein alter OnClickListener (für ein Zeichen auf der Tastatur) aufgerufen.

In dem obigen Blog vorgeschlagen jemand Transformation oder eine Matrix wird ein besserer Weg zu gehen. Könnt ihr mir helfen?

Antwort

0

alles, was Sie brauchen, sind folgende Methoden

public float getTranslatedCoordinates(){ 

    pointTranslatedX = 
      // Math.abs(
      (pointSelectedX - mPivotX)/scaleFactor + mPivotX 
      //) 
      ; 
    // is not important if our scaleFactor is 3 
    // pointTranslatedY = (pointSelectedY - mPivotY) * scaleFactor + mPivotY; 

    Log.e("getTranslatedC", this.toString()); 
    return pointTranslatedX; 
} 

getStartMargin() und getKeySelected().

Bei dieser Frage geht es auch um das Design von Anfang an. Anstatt auf einen Teil der QWERTY-Tastatur zu zoomen, wo sich die Tastatur befindet (auf einem SmartWatch-Bildschirm), können Sie auch eine Zeile über oder unter der (Haupt-) QWERTY-Tastatur anzeigen. Dies verbessert die Benutzerfreundlichkeit enorm!