2017-01-22 10 views
0

У меня есть вопрос, который является в основном такой же, как этот: Zoom Content in a RelativeLayoutУвеличение на Qwerty клавиатуры ZoomableRelativeLayout

с помощью dispatchDraw (холст холст) я могу масштабировать ZoomableRelativeLayout, но когда я нажимаю на Увеличиваемую зрения, childViews не масштабируются со своим родителем (RelativeLayout), поэтому каждый раз вызывает вызов старого OnClickListener (для символа на клавиатуре).

В блоге выше кто-то предложил преобразование, или матрица будет лучшим способом. Не могли бы вы, ребята, помочь мне?

ответ

0

все, что нужно следующие методы

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() и getKeySelected().

Этот вопрос также касается дизайна с самого начала. Вместо того, чтобы щелкать, чтобы увеличить часть QWERTY-клавиатуры прямо там, где находится клавиатура (на экране SmartWatch), вы также можете отображать строку выше или ниже (основной) QWERTY-клавиатуры. Это значительно улучшит удобство использования!