반응형
안녕하세요 돼지왕왕돼지입니다.
오늘은 TextView 의 중간에 간단한 이미지를 삽입하는 방법을 함께 알아보고자 합니다.
Html class 에서 제공하는 아래의 API 를 이용하면 쉽게 구현할 수 있습니다.
public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
이 함수는 html 태그를 작성하면, 그것이 해석된 버전의 text 가 나오는 것으로 보시면 되겠습니다.
이 함수는 주로 <img> 태그를 이용하여 text 중간에 이미지를 넣는 데 이용됩니다.
Return 값으로 전달되는 Spanned 는 CharSequence 를 implements 한 녀석이기 때문에 TextView의 setText() 의 parma 으로 들어갈 수 있습니다.
Spanned 의 Developer 를 보면 markup objects 를 가진 interface 라고 되어 있습니다.
따라서, <img> 태그를 통한 image object 를 가질 수 있는 것이지요.
예를 한번 볼까요?
ImageGetter imageGetter = new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
if ( source.equals( "icon" ) ){
Drawable drawable = getResources().getDrawable( R.drawable.icon );
drawable.setBounds( 0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight() );
return drawable;
}
return null;
}
};
textView.setText( htmlText );
원래 HTML은 img src가 인터넷 주소이거나, 해당 html 이 위치해있는 폴더를 기준으로 주소를 찾곤 하죠.
하지만 우리가 하고 싶은 것은, 우리가 가진 resource를 보여주는 것이기 때문에 위와 같이 ImageGetter 를 구현해야 합니다.
ImageGetter의 param인 source에는 <img src="[소스]"> 의 [소스] text 가 들어옵니다.
위와 같이 구미에 맞도록 링크시켜주면 되겠습니다.
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android/안드로이드] 앱 최종 배포 전 확인사항. (0) | 2012.02.08 |
---|---|
[android/안드로이드] 어플리케이션 싸인하기 ( Sign Application ) - 개념 (0) | 2012.02.08 |
[android/안드로이드] aidl 을 이용하여 service 에 bind 하기. (2) | 2012.02.08 |
[android/안드로이드] activity chooser? activity selector? (0) | 2012.02.07 |
[android/안드로이드] ContentObserver 뭐하는 녀석인지 알아봅시다. (2) | 2012.02.07 |
댓글