2010-06-20 3 views
3

1) Comment procéder pour modifier/étendre TextView afin de rendre les images en ligne?Images dans TextView

Il semble que setText (Html.fromHtml (... Tags d'image ...)) pourrait effectivement permettre l'insertion d'image si elle est configurée correctement, mais je n'ai pas essayé moi-même. Même si, j'aurais encore besoin d'un contrôle fin sur le dessin de l'image (mon but final est d'afficher des images smiley animées en ligne). Donc, malheureusement, une vue basée sur WebKit ou similaire n'est pas une option non plus. 2) Comme solution de rechange, j'ai pensé à mélanger TextViews et ImageViews (ou plus précisément, les sous-classes personnalisées qui permettent l'animation), mais je ne suis pas sûr de la façon dont je pourrais obtenir un emballage correct (je suis assez nouveau Android).

+0

bien que cette le poste est vieux; La méthode 'Html.fromHtml (... image tags ...)' permet de définir un callback dans le drawable. qui dit _pour les clients qui veulent prendre en charge les drawables animés._ – Samuel

Répondre

5

ce tutoriel devrait vous aider: http://techdroid.kbeanie.com/2010/06/textview-with-html-content.html

spécifiquement cette section du tutoriel ...

static ImageGetter imgGetter = new Html.ImageGetter() { 
      @Override 
      public Drawable getDrawable(String source) { 
        Drawable drawable = null; 
        drawable = Drawable.createFromPath(source); // Or fetch it from the URL 
        // Important 
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable 
           .getIntrinsicHeight()); 
        return drawable; 
      } 
     }; 

EDIT: tutoriel trouvé un autre, que je pensais regardé plus propre: http://androidjava.wordpress.com/2010/09/17/images-in-textview/

1

Ce texte doit-il être modifiable ou simplement affiché? Une autre option pourrait être de rendre votre contenu dans un WebView et de mettre en forme votre texte/images en utilisant html.

+0

(Vous avez probablement répondu avant d'éditer ma question) Idéalement, il devrait être modifiable, mais même si ce n'est pas éditable WebView est trop limité. Il n'y a pas de support pour les gifs animés dans WebView. Ce n'est pas trop difficile d'animer les gifs en dessinant sur une toile (+ graphics.Movie). J'ai juste besoin de trouver un moyen d'obtenir cette fonctionnalité dans un TextView ou (si je n'ai pas la possibilité de modifier) ​​pour combiner TextViews avec (le étendu) ImageViews dans un mode d'emballage. – ixampal