如何缩放部分屏幕?

时间:2018-03-26 09:40:32

标签: java android bitmap zoom

我正在尝试缩放屏幕的一部分。例如,我有一个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);

}

0 个答案:

没有答案