본문 바로가기

IT/Android

안드로이드 TextView 에 Html이용하여 이미지 넣기

TextView 사용시 Html.fromHtml() 을 사용하여 setText 에 적용



================================================================================================



package lowmans.test.test;


import android.app.Activity;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import android.text.Html;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.TextView;



public class Test extends Activity {


LinearLayout main;

Button btn1;

Button btn2;

TextView tv1;

TextView tv2;

 

/* * Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);


setContentView(R.layout.main);

main = (LinearLayout) findViewById(R.id.main);

tv1 = (TextView)findViewById(R.id.tv1);

tv2 = (TextView)findViewById(R.id.tv2);

btn1 = (Button) main.findViewById(R.id.btn1);

btn1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

tv1.setText(Html.fromHtml("<img src=\"icon\" />this is test" ,new ImageGetter() , null));

}


});


btn2 = (Button) main.findViewById(R.id.btn2);

btn2.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

tv2.setText(Html.fromHtml("this is <img src=\"icon\" /> test" ,new ImageGetter() , null));

}


});

}

public class ImageGetter implements Html.ImageGetter {

public Drawable getDrawable(String source) {

int id = 0;

if (source.equals("icon")) {

id = R.drawable.icon;

Drawable d = getResources().getDrawable(id);

d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());

return d;

}

}


}