Android_在EditView中插入图片~
来源:互联网 发布:数据库安全测试研究 编辑:程序博客网 时间:2024/05/16 18:58
-----------------------------------------------------------------------------
博客已搬家:地址 博客已搬家:地址 博客已搬家:地址
-----------------------------------------------------------------------------
默认的EditView是无法显示图片的。所以想要实现这个功能得需要我们自己为其添加一个方法。
在这里我们采用SpannableString和ImageSpan两个类来实现这一功能。
先上效果图:
main.xml布局文件。我们使用自己定义的EditText
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <easy.stu.MyEditText android:id="@+id/myEdit" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="insert" /></LinearLayout>
MyEditText.java
package easy.stu;import android.content.Context;import android.graphics.drawable.Drawable;import android.text.Spannable;import android.text.SpannableString;import android.text.style.ImageSpan;import android.util.AttributeSet;import android.widget.EditText;public class MyEditText extends EditText {public MyEditText(Context context) {super(context);}public MyEditText(Context context, AttributeSet attrs) { super(context, attrs); }public void insertDrawable(int id) {final SpannableString ss = new SpannableString("easy");//得到drawable对象,即所要插入的图片Drawable d = getResources().getDrawable(id);d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());//用这个drawable对象代替字符串easyImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);//包括0但是不包括"easy".length()即:4。[0,4)。值得注意的是当我们复制这个图片的时候,实际是复制了"easy"这个字符串。ss.setSpan(span, 0, "easy".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);append(ss);}}
MyActivity.java
package easy.stu;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MyActivity extends Activity {/** Called when the activity is first created. */Button b;MyEditText e;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);b = (Button) findViewById(R.id.myButton);e = (MyEditText) findViewById(R.id.myEdit);b.setOnClickListener(new OnClickListener() {public void onClick(View v) {e.insertDrawable(R.drawable.easy);}});}}
附上代码下载地址:
http://download.csdn.net/detail/leasystu/4059116
- Android_在EditView中插入图片~
- 图片插入EditView中
- EditView中插入图片
- Android控件之EditView向EditView中输入图片
- Android的EditView中插入表情图像
- 在protel中插入图片
- 在TextView中插入图片
- 在datagridview中插入图片
- 在CSDN中插入图片
- 在TextView中插入图片
- 在EditText中插入图片
- 在UITextView中插入图片
- 在canvas中插入图片
- 在Excel中插入图片
- 在csdn中插入图片
- Android_在SD卡上保存图片
- 在CSDN的文章中插入图片
- word中在指定位置插入图片
- Python的一些内容整理, part 2
- Walmart trip
- linux编程之动起手来
- gcc参数大全
- Eclipse导入(打开)工程
- Android_在EditView中插入图片~
- Directx
- 11年7月以来做过的
- 一个整数阶乘N!末尾有多少个0
- Python:语音处理,实现在线朗读RFC文档或本地文本文件
- Android 开发环境的设置
- 全局变量、常量、程序代码、静态变量的位置关系
- 整理:Windows XP系统安装SQL Server 2000企业版并启用网络功能
- Jdeveloper 基于form认证中错误页重定向问题