我正在尝试缩放屏幕的一部分。例如,我有一个ListView,我想在中间创建静态字段,这使得ListView的这一部分更大。我已经扩展了ListView并覆盖了onDraw,我正在绘制缓存并计算我的盒子。 每个滚动都会调用onDraw,通过this.invalidate(),但无论何时滚动,缩放的框都不会改变(缩放列表视图的相同位置)。我该怎么改变它?这是我的代码:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
buildDrawingCache();
bitmap = getDrawingCache();
shader = new BitmapShader(bitmap, Shader.TileMode.MIRROR, Shader.TileMode.MIRROR);
paint = new Paint();
paint.setShader(shader);
matrix.reset();
int width = this.getResources().getDisplayMetrics().widthPixels;
int height = this.getResources().getDisplayMetrics().heightPixels;
matrix.postScale(2f, 2f, width / 2, height / 2);
paint.getShader().setLocalMatrix(matrix);
canvas.drawRect(40, height / 2, width, height / 2 + 300, paint);
}