Code example for Transformation

Methods: clear, getMatrix, setTransformationType

0
    { 
        final int childCenter = getCenterOfView(child);
        final int childWidth = child.getWidth();
        int rotationAngle = 0;
 
        t.clear();
        t.setTransformationType(Transformation.TYPE_MATRIX);
 
        if (childCenter == mCoveflowCenter) {
            transformImageBitmap((ImageView) child, t, 0);
        } else { 
            rotationAngle = (int) ((float) (mCoveflowCenter - childCenter) / childWidth * mMaxRotationAngle);
            if (Math.abs(rotationAngle) > mMaxRotationAngle) {
                rotationAngle = rotationAngle < 0 ? -mMaxRotationAngle : mMaxRotationAngle;
            } 
            transformImageBitmap((ImageView) child, t, rotationAngle);
        } 
 
        return true; 
    } 
 
    /** 
     * This is called during layout when the size of this view has changed. If 
     * you were just added to the view hierarchy, you're called with the old 
     * values of 0. 
     *  
     * @param w 
     *            Current width of this view. 
     * @param h 
     *            Current height of this view. 
     * @param oldw 
     *            Old width of this view. 
     * @param oldh 
     *            Old height of this view. 
     */ 
    @Override 
    protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) 
    { 
        mCoveflowCenter = getCenterOfCoverflow();
        super.onSizeChanged(w, h, oldw, oldh);
    } 
 
    /** 
     * Transform the Image Bitmap by the Angle passed. 
     *  
     * @param imageView 
     *            ImageView the ImageView whose bitmap we want to rotate 
     * @param t 
     *            transformation 
     * @param rotationAngle 
     *            the Angle by which to rotate the Bitmap 
     */ 
    private void transformImageBitmap(final ImageView child, final Transformation t, final int rotationAngle)
    { 
        mCamera.save();
        final Matrix imageMatrix = t.getMatrix();
 
        final int height = child.getLayoutParams().height;
 
        final int width = child.getLayoutParams().width;
        final int rotation = Math.abs(rotationAngle);