2010-10-18 3 views
0

Je n'arrive pas à avoir de chance avec les vues normales et SurfaceViews. J'ai un FrameLayout avec deux enfants, un glSurfaceView et un ViewAnimator. Le but est d'avoir un rendu en arrière-plan avec des boutons sur le dessus pour les menus, les options et autres. Lorsque j'anime à partir de ViewAnimator, ils bougent comme ils le devraient, mais il semble qu'ils défilent sous quelque chose, comme s'ils étaient partiellement masqués (la zone masquée semble être liée à la taille des vues). Si je supprime le glSurfaceView il se comporte correctement (même si le onDraw dans le SurfaceView ne fait qu'un glClear). J'étais sur le point d'abandonner et de faire une autre approche complètement, mais je pensais qu'on me demandait si quelqu'un avait déjà rencontré ça.L'utilisation d'un ViewAnimator sur un SurfaceView provoque des problèmes

principal xml

<FrameLayout android:id="@+id/FrameLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<include android:id="@+id/glrender" layout="@layout/glview" /> 
<include android:id="@+id/guiscreens" layout="@layout/viewflipper" /> 

</FrameLayout> 

la vue gl

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

    <android.opengl.GLSurfaceView 
        android:id="@+id/glsurfaceview" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"/> 

</FrameLayout> 

vue animateur

<ViewAnimator xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/flipper" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

    <include android:id="@+id/first" layout="@layout/mainmenu" /> 
    <include android:id="@+id/second" layout="@layout/otherscreen" /> 

</ViewAnimator> 

une des vues

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <Button android:id="@+id/Button01" 
     android:text="CLICK ME" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
    </Button> 

</LinearLayout> 

J'ai lu les docs et j'ai pensé que j'avais tout arrangé, mais je suppose qu'il me manque quelque chose. Je n'ai pas trouvé d'échantillons dans les démos qui ont fait exactement ce que j'essayais. J'apprécie toute contribution, merci!

Répondre

1

Le système d'animation actuel peut ne pas fonctionner correctement sur un SurfaceView si vous utilisez des animations de translation, d'échelle ou de rotation. C'est quelque chose qui sera abordé à l'avenir.

+0

Eh bien merci encore, je suppose que je peux abandonner cette idée pour l'instant :) – Handsome

+0

Savons-nous quand/si cela a été corrigé? – stfn

+0

Curieux si les animations sont supportées avec SurfaceViews maintenant? – PacificSky

Questions connexes