45 votes

Prendre une capture d’écran d’une vue entière

J’ai construit une table qui se fait essentiellement par l’intérieur d’un . J’ai fait en compte que l’utilisateur peut modifier les champs.

Maintenant, je veux enregistrer le tableau sur un écran, jpg, png, pdf ou autre chose.

Le problème est que la table est presque toujours plus grande que l’écran.

Existe-t-il un moyen de faire une capture d’écran de l’ensemble de la `` mise en page? Si ce n’est pas le cas, que pensez-vous que vous pouvez faire le travail?

73voto

user472355 Points 96

En fait, j’ai trouvé la réponse:

17voto

hackjutsu Points 2476
  ScrollView iv = (ScrollView) findViewById(R.id.scrollView);
  Bitmap bitmap = Bitmap.createBitmap(
        iv.getChildAt(0).getWidth(), 
        iv.getChildAt(0).getHeight(), 
        Bitmap.Config.ARGB_8888);
  Canvas c = new Canvas(bitmap);
  iv.getChildAt(0).draw(c);

  // Do whatever you want with your bitmap
  saveBitmap(bitmap);

12voto

sahu Points 877

L’utilisation de @softwaresupply réponse pose problème dans mon cas où ma vue était redessinée et devenait complètement blanche. Il existe une solution plus simple pour obtenir une capture d’écran où vous n’avez même pas besoin de fournir la largeur et la hauteur comme paramètres. Utilisez le cache de dessin.

4voto

Deepshikha Puri Points 999

Téléchargez le code source à partird’ici ( Prenez une capture d’écran de scrollview dans Android par programmation)

activity_main.xml

MainActivity.xml

Merci!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X