Android edittext中添加图片并且监听图片的点击事件
2014-09-26 11:34
531 查看
在EditText中添加图片的主要代码
//创建ImageSpan
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);//
要显示的图片
String content = "gamedirty";
ImageSpan imageSpan = new ImageSpan(this, b);
SpannableString spannableString = new SpannableString(content);
//使用ImageSpan替换文字
spannableString.setSpan(imageSpan, 0, content.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
在EditText中添加
EditText.append(spannableString);
设置图片点击事件的主要代码
分两种情况
第一种是该EditText已经获得了焦点
使用
et.setOnClickListener()监听
第二种是该EditText没有焦点 则在
et.setOnFocusChangedListener()中监听
监听的内容都是一致的
Spanned s = et.getText();//得到Spanned对象
ImageSpan[] imagespans = s.getSpans(0, s.length(), ImageSpan.class);
//得到该EditText中多有的ImageSpan对象
int selectStart = et.getSelectionStart(); //获得当前EditText中的光标位置
//遍历所有的ImageSpan 根据光标位置判断点击的是哪一个ImageSpan
for (ImageSpan span : imagespans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
Log.i("info", "start:" + start + ",end:" + end);
if (selectStart >= start && selectStart <= end) {
Toast.makeText(MainActivity.this, "点击了图片",
Toast.LENGTH_LONG).show();
}
}
//创建ImageSpan
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);//
要显示的图片
String content = "gamedirty";
ImageSpan imageSpan = new ImageSpan(this, b);
SpannableString spannableString = new SpannableString(content);
//使用ImageSpan替换文字
spannableString.setSpan(imageSpan, 0, content.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
在EditText中添加
EditText.append(spannableString);
设置图片点击事件的主要代码
分两种情况
第一种是该EditText已经获得了焦点
使用
et.setOnClickListener()监听
第二种是该EditText没有焦点 则在
et.setOnFocusChangedListener()中监听
监听的内容都是一致的
Spanned s = et.getText();//得到Spanned对象
ImageSpan[] imagespans = s.getSpans(0, s.length(), ImageSpan.class);
//得到该EditText中多有的ImageSpan对象
int selectStart = et.getSelectionStart(); //获得当前EditText中的光标位置
//遍历所有的ImageSpan 根据光标位置判断点击的是哪一个ImageSpan
for (ImageSpan span : imagespans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
Log.i("info", "start:" + start + ",end:" + end);
if (selectStart >= start && selectStart <= end) {
Toast.makeText(MainActivity.this, "点击了图片",
Toast.LENGTH_LONG).show();
}
}
相关文章推荐
- Android--EditText/TextView 中添加图片,以及点击图片.
- 在Edittext中添加图片并为图片添加点击事件
- Android 自定义EditText 实现获得焦点并且有内容显示右侧图片并点击清空内容
- android TextView、EditText对部分内容设置颜色、字体、超链接、图片、点击事件
- Android TextView加载HTMl图文之添加点击事件和查看图片
- Android EditText中通过drawabeRight等添加了清空按钮 如何给按钮添加点击事件?
- Android EditText中插入图片并响应点击事件
- 多应用中EditText中可以插入图片,并且图片可以响应点击事件来进行相关操作。
- 【转】Android EditText截获与监听输入事件
- 在Android中ListView中添加两个点击事件,一个是OnItemClick,另一个是一个图片的OnClick事件
- Android开发给TextView添加点击事件
- Android开发给TextView添加点击事件
- 【Android基础】EditText键盘搜索事件设置和监听
- Android 在XML文件中添加View点击事件的监听:OnClickListener
- Android EditText截获与监听输入事件
- Android 给TextView添加点击事件
- Android之EditText文本框监听事件
- Android中WebView加载Html中的图片添加点击事件
- Android EditText缴获与监听输入事件
- android 获取EditText的点击事件!