Como mostrar imagen img scr en formato HTML con fromHTML
Mostrar una imagen usando fromHTML, de forma que podremos cogerla de una internet con la etiqueta img de HTML.
Antes de este tutorial, aunque muy básico, puede que desees
familiarizarte con fromHTML. Para ello puedes pasarte por un ejemplo en
el que sólo se utiliza texto en HTML en este tutorial. En él se muestra el hipertexto en un AlertDialog, pero es igualmente sencillo asignarlo a un TextView.
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.
import
java.io.IOException;
import
java.io.InputStream;
import
java.net.MalformedURLException;
import
java.net.URL;
import
android.app.Activity;
import
android.graphics.drawable.Drawable;
import
android.os.Bundle;
import
android.text.Html;
import
android.text.Spanned;
import
android.text.Html.ImageGetter;
import
android.util.Log;
import
android.widget.TextView;
public
class
HtmlFromHtmlImageActivity
extends
Activity {
/** Called when the activity is first created. */
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
String html =
"Tus ejemplos en<br/>TEXTO DE ENTRADA<br/><br/><img src='ENLACE HTML.JPG' />"
;
Spanned s = Html.fromHtml(html,getImageHTML(),
null
);
TextView txt = (TextView)findViewById(R.id.main_menu_textview);
txt.setText(s);
}
public
ImageGetter getImageHTML(){
ImageGetter ig =
new
ImageGetter(){
public
Drawable getDrawable(String source) {
try
{
Drawable d = Drawable.createFromStream(
new
URL(source).openStream(),
"src name"
);
d.setBounds(
0
,
0
, d.getIntrinsicWidth(),d.getIntrinsicHeight());
return
d;
}
catch
(IOException e){
Log.v(
"IOException"
,e.getMessage());
return
null
;
}
}
};
return
ig;
}
}
mui bn esto
ResponderEliminar