android editText 插入表情,或者是图片

在android 的editText 中插入表情,其实就是将一个自己定义好的特殊的标示使用图片进行替换:

首先你要自己定义一个类继承EditText 这个类

package com.work.down; import android.content.Context; import android.graphics.drawable.Drawable; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.util.AttributeSet; import android.util.Log; import android.widget.EditText; public class ImageViews extends EditText { public ImageViews(Context context) { super(context); } public ImageViews(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public ImageViews(Context context, AttributeSet attrs) { super(context, attrs); } public void insertIntoEdit(int id){ Log.d("wljie","==="); SpannableStringBuilder builder = new SpannableStringBuilder(getText().toString()); Drawable drawable = getResources().getDrawable(id); drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight()); ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE); builder.setSpan(imageSpan, getText().length(),getText().length()+"[simle]".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); setText(builder); } }

然后在mail.xml中写入

<?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"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="click" /> <com.energysource.szj.embeded.AdView android:id="@+id/adview_ids" transparent="true" debug="true" android:layout_width="240px" android:layout_height="38px" android:layout_marginLeft="0px" android:layout_marginTop="0px" /> </LinearLayout>

然后才MainActivity.java中

ImageViews imageViews = (ImageViews) findViewById(R.id.image_view); Log.e("wljie", R.drawable.simle+"++++^_^"); imageViews.insertIntoEdit(R.drawable.simle);

现在跑一下吧。搞定收工。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值