jueves, 2 de agosto de 2012

Programación: 4.Como mostrar imagen img scr en formato HTML con fromHTML



Objetivo:
Mostrar una imagen usando fromHTML, de forma que podremos cogerla de una internet con la etiqueta img de HTML.


Cuando deseamos utilizar HTML en un TextView, por ejemplo, podemos llamar al paquete android.text.html, dejando que él actúe sobre nuestro texto, aplicando la vista indicadas en las etiquetas que le dan formato. En este HTML podemos incluso utilizar llamadas a imágenes con la tag img src.
Creamos  mini-aplicación para coger el HTML y lo aplicamos a un TextView para mostrarlo. Para ello, debemos crear una aplicación desde el principio,  crear un TextView para insertar el hipertexto en HTML (con imagen incluida en este caso), y finalmente llamar a la clase android.text.html. Para que las imágenes en el HTML aparezcan debemos implementar la función getImageHTML, que devolverá una instancia de la clase ImageGetter, necesaria para ello.
Ejemplo:
Código fuente Java:
01package fromHtml.image.tutorialandroid.com;
02import java.io.IOException;
03import java.io.InputStream;
04import java.net.MalformedURLException;
05import java.net.URL;
06import android.app.Activity;
07import android.graphics.drawable.Drawable;
08import android.os.Bundle;
09import android.text.Html;
10import android.text.Spanned;
11import android.text.Html.ImageGetter;
12import android.util.Log;
13import android.widget.TextView;
14
15public class HtmlFromHtmlImageActivity extends Activity {
16    /** Called when the activity is first created. */
17    @Override
18    public void onCreate(Bundle savedInstanceState) {
19        super.onCreate(savedInstanceState);
20        setContentView(R.layout.main);
21
22        String html = "Tus ejemplos en<br/>TodoAndroidd.wordpress.com<br/><br/><img src='http://todoandroidd.files.wordpress.com/2012/07/logophotoshop11.png' />";
23
24        Spanned s = Html.fromHtml(html,getImageHTML(),null);
25        TextView txt = (TextView)findViewById(R.id.main_menu_textview);
26        txt.setText(s);
27    }
28
29    public ImageGetter getImageHTML(){
30         ImageGetter ig = new ImageGetter(){
31             public Drawable getDrawable(String source) {
32              try{
33               Drawable d = Drawable.createFromStream(new URL(source).openStream(), "src name");
34               d.setBounds(00, d.getIntrinsicWidth(),d.getIntrinsicHeight());
35               return d;
36              }catch(IOException e){
37               Log.v("IOException",e.getMessage());
38               return null;
39              }
40             }
41            };
42        return ig;
43    }
44
45}
Codigo Fuente xml:
01<strong> </strong></pre>
02<?xml version="1.0" encoding="utf-8"?>
03<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
04 android:orientation="vertical" android:layout_width="fill_parent"
05 android:layout_height="fill_parent">
06 <TextView android:text="TextView" android:id="@+id/main_menu_textview"
07 android:layout_height="wrap_content" android:padding="10dip"
08 android:layout_gravity="center" android:gravity="center"
09 android:textSize="20dip" android:layout_width="fill_parent">
10 </TextView>
11</LinearLayout>
Descargar projecto AQUI

Guille Navarro

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

0 comentarios:

Publicar un comentario

 

Copyright @ 2013 TodoAndroid.