ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

SpannableStringÀ¸·Î ÅؽºÆ® ºä¿¡ ¾ÆÀÌÄÜ ³Ö´Â ¹ý
7³â Àü
¾Èµå·ÎÀ̵åÀÇ ÅؽºÆ®ºä(TextView)¿¡ À̸ðƼÄÜÀ» °°ÀÌ Ç¥½ÃÇÏ´Â ¹ýÀ̶ö±î..
¾Æ·¡ Äڵ带 ±Ü¾î¾²¸é µÇ°Ú´Ù.


//emoticons´Â ÅؽºÆ®¿¡¼­ ¾ÆÀÌÄÜÀ¸·Î ġȯÇÒ ±ÛÀÚµéÀ» ¸ð¾Æ³õÀº °Í
HashMap<String, Integer> emoticons = new HashMap<String, Integer>();
emoticons.put("(open)", R.drawable.ic_x_open);
emoticons.put("(ready)", R.drawable.ic_x_work);
emoticons.put("(fail)", R.drawable.ic_x_fail);
emoticons.put("(wifi)", R.drawable.ic_x_wifi);
emoticons.put("(boost)", R.drawable.ic_x_cell);

//»ç¿ëÇÒ amsx_desc ½ºÆ®¸µ ¸®¼Ò½º¿¡ À̸ðƼÄÜ Ä¡È¯ÀÚµéÀÌ Æ÷ÇԵǾî ÀÖ´Ù.
SpannableStringBuilder builder = new SpannableStringBuilder(context.getString(R.string.amsx_desc));

int index;
for (index = 0; index < builder.length(); index++) {
    if (Character.toString(builder.charAt(index)).equals("(")) {
        for (Map.Entry<String, Integer> entry : emoticons.entrySet()) {
            int length = entry.getKey().length();
            if (index + length > builder.length())
                continue;
            if (builder.subSequence(index, index + length).toString().equals(entry.getKey())) {
                builder.setSpan(new ImageSpan(context, entry.getValue()), index, index + length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                index += length - 1;
                break;
            }
        }
    }
}

textView.setText(builder);



´Ù¸¥ Âü°íÀÚ·á http://www.programcreek.com/java-api-examples/index.php?api=android.text.style.ImageSpan
ÃßõÃßõ : 274 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
1,196
Service & Notification(¾Ë¸²¹Ù¶ç¿ì±â) ÀÌ¿ëÇϱâ
1,195
È­¸é ȸÀü(rotation) ó¸®
1,194
[Android] Àüüȭ¸é, title bar ¾ø¾Ö±â, status bar ¾ø¾Ö±â
1,193
ANDROID(¾Èµå·ÎÀ̵å) ¾Û °³¹ß ±âÃÊ] MEDIAPLAYER À½¾Ç Àç»ýÇϱâ
1,192
[Android]MediaPlayer¿¡¼­ »ç¿îµå¸¦ Àç»ýÇÏ´Â µÎ °¡Áö °æ·Î
1,191
¾Èµå·ÎÀ̵å Intent »ç¿ë¹ý
1,190
¾Èµå·ÎÀ̵å È­¸é Á¤¸®
1,189
ffmpeg ¿ÀÇ ¼Ò½º on ¾Èµå·ÎÀ̵å
1,188
WebView¿¡¼­ <a> ű×ÀÇ "_blank" target ó¸®Çϱâ.
1,187
Ư¼ö¹®ÀÚ, Ư¼ö¹®ÀÚÇ¥, Ư¼ö¹®ÀÚ ÇÏÆ®, ¿¹»Û Ư¼ö¹®ÀÚ
1,186
MediaPlayer 5¹ø¸¸ ¹Ýº¹Àç»ý
1,185
ÆÄÀÏ À§Ä¡¿¡ µû¸¥ ¹Ìµð¾î Àç»ý »ùÇÃÄÚµå
1,184
MJPEG on Android anyone?
1,183
Android °³¹ß
1,182
¾Èµå·ÎÀ̵å : ¾×ƼºñƼ ¶óÀÌÇÁ »çÀÌŬ (Activity Life Cycle)
1,181
¾Èµå·ÎÀ̵å ÇÁ·Î±×·¥ ÄÚµå·Î À¥ ºê¶ó¿ìÀú ½ÇÇàÇϱ⠿¹Á¦ (ÀÎÅÙÆ® »ç¿ë)
1,180
Áøµ¿ È¿°ú [Android]
1,179
Á¾·á ´ÙÀ̾ó·Î±× [Android]
1,178
´Ù¸¥¾Û È£Ãâ [Android]
1,177
TabActivity back key Event [Android]
1,176
³×Æ®¿öÅ© »óÅ [Android]
1,175
¾Èµå·ÎÀ̵忡¼­ À¥¼­¹ö¿¡ post·Î ±Û¾²±â [Android]
1,174
Webview ¼Ò½º [Android]
1,173
Coach mark View [Android]
1,172
¸ÖƼ ÇØ»óµµ [Android]
1,171
Webview source [Android]
1,170
°øÀ¯ Intent [Android]
1,169
intent uri ¸ðÀ½ [Android]
1,168
http post [Android]
1,167
http ¿äû [Android]
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.