Je veux capturer le contenu de l'image d'image à l'aide de DrawingCache. J'ai écrit le code ci-dessous. Mais je n'obtiens qu'une seule image à l'écran. Plus tard, je suis venu connaître myscreenshot fort> est null p> J'ai vu de nombreux postes concernant le même problème, mais pas de solution appropriée. P> Je pensais que toutes les autorisations que nous devons ajouter Dans Manifeste? ou autorisation racine requise pour y parvenir? S'il vous plaît aidez-moi à ce sujet concernant ce problème. P> p>
4 Réponses :
<RelativeLayout android:id="@+id/item" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/image" android:layout_width="320dp" android:layout_height="486dp" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:background="@drawable/iv1" /> <ImageView android:id="@+id/ic_launcer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@drawable/iv2" /> </RelativeLayout>
Essayez appeler EDIT: strong>
Call BuildDrawingCache () code> avant
getdrawingcache () code> p> p>
getdrawingcache () code>, une fois que la page a été chargée, au lieu de
Oncreate code> p>
J'ai ajouté IV1.BuildDrawingCache (); avant GetDrawingCache (). pas d'Utilisation
Avez-vous vérifié que IV1 a une image lorsque la demande est exécutée? Spécifiez également où vous appelez exactement votre code. Vous l'appelez peut-être avant que les vues soient initialisées
Dans le fichier XML seulement, je donne Android: SRC pour IV1. Le code que j'ai posté ici est après SetContentView (r.layout.main); dans Oncreate () Est-ce correct?
Par souci de débogage, ajoutez un bouton temporaire et essayez d'exécuter le code sur le bouton Cliquez pour que nous puissions nous assurer que tout est chargé correctement. Une autre question qui me vient à l'esprit est si IV1 est définie dans le XML, puis dans la méthode Oncreate, il n'aurait probablement rien d'autre que ce que vous avez spécifié dans le XML. Donc, le réglage IV2 de IV1, dans l'Oncreate n'a pas beaucoup de sens. Ai-je raison?
Merci de me suggérer. Mon code fonctionne, seul problème consiste à mettre mon code dans méthode Oncreate (). Je l'ai testé avec un bouton. Pas besoin de méthode BuildDrawingCache ().
vous ne faites pas
iv1.buililddrawingcache (true) code>; Ajouter une ligne avant
bitmap myscreenshot = iv1.gedDrawingCache (); code> p>
Votre réponse est la même réponse que l'acceptée écrite par @aqs
Call GetDrawingCache () dans Onwindowfocuschanged () et pas dans Oncreate (), vous n'obtiendrez pas NULL. P>