Android ViewGroup Rotação em 3d
Eu quero girar meu próprio FrameLayout em 3d no android. Preciso usar a classe GlSurfaceView. Eu sou novo em computação gráfica, mas conheço a teoria por trás das rotações e traduções. Para fazer rotações em 3D opengl, fazemos o seguinte em geral.
a classe de atividade, criamos um objeto GLSurfaceView e configuramos seu renderizador. O objeto Renderer é criado a partir de uma classe que implementa a interface GlSurfaceView.Rendere
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GLSurfaceView view = new GLSurfaceView(this);
view.setRenderer(new OpenGLRenderer());
setContentView(view);
}
Em nossa classe Renderer, fazemos desenhos, rotações e traduções com os seguintes métodos
// Called when the surface is created or recreated.
public void onSurfaceCreated(GL10 gl, EGLConfig config)
// Called to draw the current frame.
public void onDrawFrame(GL10 gl)
// Called when the surface changed size.
public void onSurfaceChanged(GL10 gl, int width, int height)
No entanto, eu tenho um framelayout personalizado declarado como
public class RotatedMapView extends FrameLayout
Eu quero fazer isto
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RotatedMapView view = new RotatedMapView (this);
view.setRenderer(new OpenGLRenderer());
setContentView(view);
}
Mut não posso, porque setRenderer é especial para GlSurfaceView. Agora estou navegando no código-fonte GlSurfaceView.java para adaptá-lo ao meu design. O link que encontrei para o GlSurfaceVİew.java éhttp: //code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest/src/com/android/spritemethodtest/GLSurfaceView.java? r = 150 A fonte é muito longa. Na verdade, não tenho preguiça de lê-lo, mas quero ter certeza se estou ou não da maneira corret