Gallery 繞Y軸旋轉特效

2021-09-08 09:12:37 字數 1876 閱讀 6678

1、camera 可以實現3d平移、旋轉等特效:

2、它並不是以galley檢視所在座標系,而是在其自身的座標系

3、例如,其繞y軸旋轉,實際是在matrix 對應檢視的左邊旋轉;平移也是同樣。

package com.view;

import android.content.context;

import android.graphics.camera;

import android.graphics.matrix;

import android.util.attributeset;

import android.view.view;

import android.view.animation.transformation;

import android.widget.gallery;

import android.widget.imageview;/**

* * */

public

class

galleryflow extends gallery

public

galleryflow(context context, attributeset attrs)

public galleryflow(context context, attributeset attrs, int

defstyle)

public

intgetmaxrotationangle()

public

void setmaxrotationangle(int

maxrotationangle)

public

intgetmaxzoom()

public

void setmaxzoom(int

maxzoom)

private

intgetcenterofcoverflow()

private

static

intgetcenterofview(view view)

protected

boolean getchildstatictransformation(view child, transformation t)

else

transformimagebitmap((imageview) child, t, rotationangle);

}return

true

; }

private

void transformimagebitmap(imageview child, transformation t, int

rotationangle)

else

if (rotationangle > 0

)

else

mcamera.getmatrix(imagematrix);

mcamera.restore();

}protected

void onsizechanged(int w, int h, int oldw, int

oldh)

}

另乙個新的動畫效果:

private

void transformimagebitmap(view child, transformation t, int

rotationangle)

第乙個動畫的優化:

private

void transformimagebitmap(view child, transformation t, int

rotationangle)

繞任意軸旋轉

關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理。該方法實際上...

繞任意軸旋轉

繞任意軸旋轉 關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理...

繞任意軸旋轉

關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理。該方法實際上...