码迷,mamicode.com
首页 > 移动开发 > 详细

我的Android进阶之旅------>Android关于ImageSpan和SpannableString的初步了解

时间:2015-07-29 12:21:11      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

最近要实现一个类似QQ聊天输入框,在输入框中可以同时输入文字和表情图像的功能。如下图所示的效果:

技术分享

为了实现这个效果,先去了解了一下ImageSpan和SpannableString的用法。下面用一个小实例来看看具体的用法,效果如下:

技术分享

代码如下:

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		TextView mDetailView = (TextView) findViewById(R.id.detail);
		String text = "大家好啊,多笑笑嘛,就像这样[smile]";
		ImageSpan imageSpan=new ImageSpan(this, R.drawable.smile);
		SpannableString spannableString = new SpannableString(
				text);
		spannableString.setSpan(imageSpan, text.indexOf('['),
				text.indexOf(']') + 1,
				Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
		mDetailView.setText(spannableString);
		}


代码中主要是将 [smile]文本 替换成了 R.id.smile图像


布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/detail"  
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

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

至于要实现第一图所示的QQ聊天输入框的效果,需要找到多张QQ表情图片,然后和相对应的文本,用一个Map<String key,Integer value>来存储起来。然后使用网格布局,将所有的表情都进行相关的缩放效果后再显示出来,还得使用分页技术,以及添加立体翻转效果特效等,这里就不贴代码了。

可以参考网上的相关博客:

Android UI【android 仿微信、QQ聊天,带表情,可翻页,带翻页拖动缓冲】

地址:http://blog.csdn.net/lnb333666/article/details/8546497

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

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址http://blog.csdn.net/ouyang_peng

==================================================================================================  技术分享


版权声明:本文为博主原创文章,未经博主允许不得转载。

我的Android进阶之旅------>Android关于ImageSpan和SpannableString的初步了解

标签:

原文地址:http://blog.csdn.net/ouyang_peng/article/details/47123519

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!