1

ピンチジェスチャーに依存するズームイン/アウト、およびテキストビューのサイズ変更とテキストのスケーリングが可能なカスタムテキストビューを開発しています。ただし、このビューをズームアウトすると、意図せずテキストが切り取られます。

このようなコードを書きます。

1.ジェスチャ リスナーでスケーリングされた値を取得し、onDraw() で postScale を取得します。

2.レイアウト(int、int、int、int)による新しいビューサイズの計算

    @Override
public void onDraw(Canvas canvas) {         

    android.graphics.Matrix m = new android.graphics.Matrix();          
    m.postScale(mScaleFactor, mScaleFactor);    
    canvas.concat(m);
    layout((int) l, (int) t, (int)r , (int) b );

    super.onDraw(canvas);
}
4

1 に答える 1

0

これはあなたにとって完璧な解決策ではないかもしれませんが、試すことができます.

1)ピンチジェスチャの検出

2)スケール係数を計算します(手動で行うか、クラスを使用できますScaleDetector

3)実際にテキストビューのサイズLayoutParamsを変更するために使用します。

4)ただし、テキストサイズはスケーリングされませんが、スケールジェスチャに応じてプログラムで行うことができます。

ご不明な点がございましたら、お気軽にコメントしてください。以前は少し異なる要件で行ったことがあります。

于 2013-06-18T04:05:21.930 に答える