2011-10-09 3 views
2

Possible en double:
Android 2.1 View's getDrawingCache() method always returns nullAndroid OBTENEZ Afficher en Bitmap

Je Hava une mise en page que je veux enregistrer un bitmap.

Si ma mise en page est plus petite que l'écran, tout va bien. Mais si ma mise en page est plus grande, le bitmap (b) est nul.

Voici mon code:

layout.setDrawingCacheEnabled(true); 

int wt = layout.getMeasuredWidth(); 
int ht = layout.getMeasuredHeight(); 
layout.layout(0, 0, wt, ht); 

Bitmap b = layout.getDrawingCache(true); 

Alors, comment puis-je obtenir la vue comme Bitmap?

+0

Avez-vous également fait buildDrawingCache()? – nebkat

+0

Mon problème n'est pas que je reçois toujours une valeur nulle, juste quand ma disposition est plus grande que l'écran. Un oui, j'ai déjà essayé buildDrawingCache() et j'ai eu la même chose :-( –

Répondre

2

buildDrawingCache ne devrait pas avoir votre vue si elle est plus grande que l'écran car la partie visible de la vue est seulement dessinée et le cache ne contient que ce qui est dessiné.

Vous pouvez essayer cette méthode. Ici, un bitmap est transmis à la vue, de sorte que la vue est dessinée sur l'image bitmap. http://www.brighthub.com/mobile/google-android/articles/30676.aspx