在EditText插入表情,并发送表情
在EditText插入表情,点击发送按钮,将qq表情显示在TextView中;
[mw_shl_code=java,true]public class EditTextActivity extends Activity implements OnClickListener {
private TextView showText, insetBtn;
private EditText edit;
private Button okBtn, backBtn;
private myEditText medit;
private imageAdapter mAdapter;
private GridView mGridview;
// Editable 是一个接口,巧妙的在接口中实现了工厂方法。
private Editable.Factory mEditableFactory = Editable.Factory.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.editimage);
mAdapter = new imageAdapter(this);
findView();
}
private void findView() {
// TODO Auto-generated method stub
showText = (TextView) findViewById(R.id.show_text);
insetBtn = (TextView) findViewById(R.id.inset_Btn);// 插入表情
insetBtn.setOnClickListener(this);
edit = (EditText) findViewById(R.id.edit);
okBtn = (Button) findViewById(R.id.ok_btn);// 发送表情
okBtn.setOnClickListener(this);
backBtn = (Button) findViewById(R.id.back_btn);
backBtn.setOnClickListener(this);
medit = (myEditText) findViewById(R.id.edit01);
medit.setText("sssss");
medit.insertIcon(R.drawable.smile);
medit.setVisibility(View.GONE);
mGridview = (GridView) findViewById(R.id.start_grid);
mGridview.setAdapter(mAdapter);
mGridview.setOnItemClickListener(listener);
mGridview.setVisibility(View.GONE);
}
/** 选择表情 **/
OnItemClickListener listener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
int clickedImageId = imageAdapter.express[arg2];
mGridview.setVisibility(View.GONE);
CharSequence cs = Html.fromHtml("", imageGetter, null);
edit.append(cs);
// inputLable.append(Html.fromHtml("",
// imageGetter, null));
}
};
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.inset_Btn:// 插入表情
mGridview.setVisibility(View.VISIBLE);
break;
case R.id.ok_btn:// 发送表情
Log.v("edit==", edit.getText().toString());
// 将edit中的内容转换为Html
Editable t = mEditableFactory.newEditable(edit.getText());
// System.out.println("edit.getText():"+t+";"+t.toString());
// 封装文本信息及图片,转换为Html格式,并去除<p></p>
String chatStr = (Html.toHtml(t)).replace("<p>", "").replace(
"</p>", "");
// String chatStr =("CCC" + ":\n\n\t" +
// Html.toHtml(t)).replace("<p>", "").replace("</p>", "");
Log.v("chatStr==", chatStr);
CharSequence cs = Html.fromHtml(chatStr, imageGetter, null);
showText.append(cs);
showText.append("\n");
edit.setText("");
break;
case R.id.back_btn:// 取消
finish();
break;
default:
break;
}
}
/*
* 实例化一个ImageGetter用于下面的EditText显示表情时Html的转换 edittext里面的html标签替换为图片的一个方法
*/
ImageGetter imageGetter = new ImageGetter() {
@Overridehttp://www.huiyi8.com/qqbq/
public Drawable getDrawable(String source) {
int id = Integer.parseInt(source);
// 根据id从资源文件中获取图片对象
Drawable d = getResources().getDrawable(id);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};
}[/mw_shl_code]
在EditText插入表情,并发送表情的更多相关文章
- QQ表情的发送与接收
我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是如何在微信公众平台使用QQ表情, ...
- [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收(转)
我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是怎样在微信公众平台使用QQ表情, ...
- [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收
我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是如何在微信公众平台使用QQ表情, ...
- iOS推送:Java服务器端发送表情(绘文字)
http://blog.csdn.net/musou_ldns/article/details/8692520 功能的时候,客户要求能够给iphone发送表情图标,也就是绘文字. 手机环境:iOS5. ...
- Android 聊天表情输入、表情翻页带效果、下拉刷新聊天记录
经过一个星期的折腾,最终做完了这个Android 聊天表情输入.表情翻页带效果.下拉刷新聊天记录.这仅仅是一个单独聊天表情的输入,以及聊天的效果实现.由于我没有写server,所以没有两方聊天的效果. ...
- Android实现EditText插入表情、超链接等格式
参考:https://www.jianshu.com/p/84067ad289d2 参考:https://www.jianshu.com/p/d82ac2edc7e8
- 代码提交的时候可以插入表情了-GitHub表情的使用
GitHub官方有个表情项目,旨在丰富文字信息.意味着你可以在提交代码的时候,在提交信息里面添加表情,同时也可以在项目的ReadMe.md文件里面使用表情.除此之外,当然还有项目在GitHub上的wi ...
- iOS开发之在Xcode代码中插入类似QQ的表情
1.Xcode打开工程 2.菜单栏Edit--->SpecialCharacters 3.点击它出现
- 项目中使用emoji表情包与表情的解析过程详情
菜鸡一只,刚开始写博客文笔不好,有问题欢迎相互讨论.闲话不多说. 用到了三个插件 Emoji Picker 第一步 这个emoji表情包插件是我找到比较好 的一个,input框中是不能放入图片的,效果 ...
随机推荐
- UNP学习笔记(第十三章 守护进程和inetd超级服务器)
关于守护进程可以查看apue的笔记 http://www.cnblogs.com/runnyu/p/4645046.html daemon_init函数 下面给出名为daemon_init函数,通过调 ...
- HTML5-SQLLite连接
1.代码部分(可直接粘贴到html文件中运行) <body onload="init()"> 姓名:<input type="text" id ...
- cocos2dx3.x使用cocostudio触摸事件不响应的奇葩问题
刚刚使用3.1,发现了一些关于触摸的不同之处,对于习惯于2.x的人还是认为坑啊,简单总结一下: 使用cocostudio加进来的ui,当某个可触但不可见的时候,给他加入不论什么触摸监听事件都是依照不可 ...
- How Many Tables-并查集
id=19354" target="_blank" style="color:blue; text-decoration:none">HDU - ...
- java ConcurrentHashMap 初识
“ConcurrentHashMap是一个线程安全的哈希表“,但是不允许key和value为空: HashTable和ConcurrentHashMap都是线程安全的,但是HashTable是同步容器 ...
- MySQL数据表导出某条记录
请按照步骤导出,否则可能会报错: ERROR (HY000): The MySQL server is running with the --secure-file-priv option so it ...
- request 解决中文乱码问题
package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servl ...
- servletResponse writer输出数据
package response; import java.io.IOException;import java.io.PrintWriter; import javax.servlet.Servle ...
- 【Java】Spring Web MVC注意事项
本文内容可能是书上没有的,至少是<Java Web整合开发实践>这本书上没有的.这是初学Spring的笔者走过的弯路,谨记以自勉. 这两天学习Spring WebMVC,照着书依葫芦画瓢写 ...
- erlang的undefined macro 'MODULE',头一行编译通不过的问题
前言:对于erlang的编译有很多方式,rebar,makefile文件 还是对于单个文件的erlc编译等,但不管何种方式,一个模块的第一行就编译不过去,实在让人纠结... 1)问题上述: 在技术交流 ...