Le déplacement MapFragment (SurfaceView) provoque le fond noir de scintillement

Je suis en train de mettre en œuvre de nouveaux Android de Google Maps API (v2). Toutefois, il ne semble pas aller bien avec SlidingMenu. Comme vous le savez peut-être, MapFragment mise en œuvre est basée sur SurfaceView. Le problème est que le SurfaceView n'aime pas la déplacer - je veux dire de le placer dans les points de vue:

Lorsque vous le déplacez, il laisse un trou noir dans le lieu de ses pixels à l'origine portées. Il ressemble à quelque chose comme cette.

Ce problème peut être partiellement résolu par la spécification d'un arrière-plan transparent sur le SurfaceView ou même le fait de placer un transparent View sur elle. Je ne peux pas comprendre si c'est seulement pour moi les résultats sont inacceptables, ou si j'ai un problème différent qui lui donne une apparence à quoi il ressemble.

Pour voir à quoi il ressemble, s'il vous plaît regarder CETTE VIDÉO.

(désolé pour la qualité, mais le problème peut être vu facilement de toute façon)

Lorsqu'un normal listview (l'orange de l'écran) est retiré lors de l'ouverture de SlidingMenu, l'animation est fluide et agréable. Mais dès que le MapFragment apparaît, il y a un peu bizarre rafraîchissant/scintillement/problème de synchronisation sur la carte.

Testé sur HTC One S et le Samsung Galaxy ACE.


Mon super-duper-idée folle de le résoudre: à chaque fois que l'animation d'ouverture commence, prendre une capture d'écran de la MapFragment (il devrait être possible avec SurfaceView) et le poser sur la durée de l'animation. Mais je ne sais vraiment pas comment faire...
La prise de capture d'écran d'une carte n'est pas possible, mais peut-être que quelqu'un aura inspiré par cette.

Ou peut-être désactiver redessiner la carte d'une autre manière, je ne sais pas.


Mise à JOUR:

Trouvé cette.

Il semble que SurfaceView peut être modifié à TextureView pour supprimer ces restrictions. Mais depuis MapFragment est basé sur SurfaceView, je ne sais pas si elle peut être réalisée.

Une autre mise à jour
Il semble que ce problème a été résolu sur les périphériques 4.1+. Ils ont juste utilisé TextureView. mais sur les versions antérieures, nous avons encore à utiliser des solutions de contournement.

  • La carte continuera à traiter les commandes et de les animer comme il est glissant. C'est une bonne expérience utilisateur. Prendre une capture d'écran de la couverture de la carte alors qu'il glisse nuisent à partir de ce UX et autant que je sache, il n'est pas possible, voir stackoverflow.com/questions/13773658/...
  • stackoverflow.com/a/13910364/1121889 Remplacer les viewpager avec votre carte v2
  • Je n'ai pas de ViewPager. Aussi, j'ai déjà lu la réponse que vous avez cités (même commenté).
  • J'ai le même problème avec une surfaceview. J'ai modifié les surfaceView à un textureView. Je ne sais pas si c'est possible avec le mapfragment.
  • Je pense que c'est acceptable. Je pense aussi qu'il va finalement être réparé. Si il y a un problème de cliquer sur google j'avais des étoiles pour vous.
  • Le problème apparaît de nouveau avec le jeu à la version des services 6.7.74

InformationsquelleAutor Michał K | 2013-01-19