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. 
     */ 
     protected void onSizeChanged(int w, int h, int oldw, 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(ImageView child, Transformation t, int rotationAngle) {            
	      mCamera.save();
	      final Matrix imageMatrix = t.getMatrix();;
	      final int imageHeight = child.getLayoutParams().height;;
	      final int imageWidth = child.getLayoutParams().width;
	      final int rotation = Math.abs(rotationAngle);
	                      
	      mCamera.translate(0.0f, 0.0f, 100.0f);