在Android中缩放imageView或圆形缩放的一部分

时间:2014-11-28 07:26:28

标签: android android-layout android-canvas ontouchlistener pixel-shader

您好我正在编写应用程序i,我在屏幕上的某个点x和y动态添加按钮。单击按钮时,该按钮下方的图像部分需要缩放。但它并没有缩放。请让我知道我正在做的错误..谢谢

btnTag.setOnTouchListener(new OnTouchListener(){

                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    int action = event.getAction(); 
                    shaderPaint = new Paint();

                    zoompos = new PointF(0,0);

                    Bitmap  mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.img);
                    shader = new BitmapShader(mBitmap, TileMode.CLAMP, TileMode.CLAMP);
                    shaderPaint.setShader(shader);
                    canvas= new Canvas(mBitmap);
                    zoompos.x = event.getX();
                    zoompos.y = event.getY();
                    matrix=new Matrix();

                    switch (action) { 
                    case MotionEvent.ACTION_DOWN:
                        matrix.reset();
                        matrix.postScale(2f, 2f, zoompos.x, zoompos.y);
                        shaderPaint.getShader().setLocalMatrix(matrix);

                        canvas.drawCircle(zoompos.x, zoompos.y, 100, shaderPaint);
                        img.setImageMatrix(matrix);
                        img.setImageBitmap(mBitmap);
                    case MotionEvent.ACTION_MOVE:
                        zooming = true;
                        btnTag.invalidate();
                        break; 
                    case MotionEvent.ACTION_UP:   
                    case MotionEvent.ACTION_CANCEL:
                        zooming = false;
                        btnTag.invalidate();
                        break; 

                    default: 
                        break; 
                    }

                    return true; }



            });

0 个答案:

没有答案