HTML Content

În cadrul unei aplicaţii Android este posibilă parsarea unui conţinut HTML, iar scopul acestui tutorial este de a exemplifica această posibilitate utilizând un TextView.

Un rol important în parsarea tag-urilor HTML îl are clasa Html care conţine o metodă statică (detalii):

public static Spanned fromHtml (String source) 


Totuşi nu toate tag-urile HTML sunt recunoscute cu ajutorul metodei prezentate mai sus. De exemplu,pentru Android 2.1 tag-urile suportate sunt :

  • <a href="...">
  • <b>
  • <big>
  • <blockquote>
  • <br>
  • <cite>
  • <dfn>
  • <div align="...">
  • <em>
  • <font size="..." color="..." face="...">
  • <h1>
  • <h2>
  • <h3>
  • <h4>
  • <h5>
  • <h6>
  • <i>
  • <img src="...">
  • <p>
  • <small>
  • <strike>
  • <strong>
  • <sub>
  • <sup>
  • <tt>
  • <u>

Se realizază un layout destul de simplu (test.xml) care conţine un LinearLayout şi un TextView, în cadrul căruia se va afişa codul HTML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
android:gravity="center">
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</LinearLayout>

Pe lângă layout se implementează şi un Activity:

import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.widget.TextView;

public class TestUI extends Activity
{
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.test);

		String htmlContent = "<b><i><font color=#267F00> Html Content utilizand TextView"
		+ "</font></i></b><br><br><a href='http://developer.android.com/index.html'>"+
		"developer.android.com</a>";

		TextView textView = (TextView) findViewById(R.id.TextView01);
		textView.setText(Html.fromHtml(htmlContent));
		textView.setMovementMethod(LinkMovementMethod.getInstance());
	}
}

După ce aplicaţia este rulată screen-ul afişat ar trebui să arate astfel:


A funcţionat? Sunt convinsă că DA! 🙂

Advertisements
HTML Content

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s