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 回答