Android---15---EditText输入表情图像

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    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="com.example.edittextdemo1.MainActivity" >

    <EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp" />

    <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="添加QQ表情" />

</LinearLayout>

MainActivity.java:

import java.lang.reflect.Field;
import java.util.Random;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {

	private EditText editText;
	private Button button;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		editText = (EditText) findViewById(R.id.edittext);
		button = (Button) findViewById(R.id.button);
		button.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		int randomId = 1 + new Random().nextInt(9);
		try {
			Field field = R.drawable.class.getDeclaredField("qq" + randomId);

			int resourceId = Integer.parseInt(field.get(null).toString());
			// 在Android中要显示图片信息,必须使用Bitmap位图的对象来装载
			Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
					resourceId);
			ImageSpan imageSpan = new ImageSpan(MainActivity.this, bitmap);
			SpannableString spannableString = new SpannableString("qq");
			spannableString.setSpan(imageSpan, 0, 2,
					Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
			editText.append(spannableString);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}
时间: 2024-10-23 18:13:17

Android---15---EditText输入表情图像的相关文章

android的edittext输入长度

http://blog.csdn.net/uyu2yiyi/article/details/6329738 http://flysnow.iteye.com/blog/828415/ http://songfantasy.iteye.com/blog/1172362 android的edittext输入长度,布布扣,bubuko.com

android 之EditText输入检测

最近开发一个功能的时候发生一个故事,其情节如下: 功能其实不复杂,其中需要一个EditText来获取用户输入的信息.于是,我做了一个Dialog来显示我的输入界面(代码如下): mAlertDialog = new AlertDialog.Builder(this)//, android.R.style.Theme_Holo_Light .setIcon(R.drawable.ic_dialog_info_light) .setTitle(R.string.model_rename_device

【Android】android 输入框EditText禁止输入Emoji表情符

转载地址:http://blog.csdn.net/elsdnwn/article/details/45390771 package com.liujy.ui.wiget;import android.content.Context;import android.text.Editable;import android.text.Selection;import android.text.Spannable;import android.text.TextWatcher;import andro

Android高仿微信表情输入与键盘输入(详细实现分析)

转载请注明出处(请尊重原创!谢谢~): http://blog.csdn.net/javazejian/article/details/52126391 出自[zejian的博客] ??表情与键盘的切换输入大部分IM都会需要到,之前自己实现了一个,还是存在些缺陷,比如说键盘与表情切换时出现跳闪问题,这个困扰了我些时间,不过所幸在Github(其代码整体结构很不错)并且在论坛上找些解决思路,再加上研究了好几个开源项目的代码,最后终于苦逼地整合出比较不错的实现效果(这里不仅给出了实现方案,还提供一个

Android EditText输入最大长度限制如何给用户以友好的提示

我们知道EditText有个属性android:maxLength="xxx" ,可以设置EditText的最大长度. 也可以用如下代码设置长度,editText.setFilters( new  InputFilter[]{ new  InputFilter.LengthFilter( 50 )}); 然后我写个小示例,xml布局如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an

Android——Activity恢复用户用EditText输入的数据

说明: 在横屏输入的内容,在Activity销毁后,即横屏后,获取用户输入的内容 步骤: 1.在xml页面定义EditText的id 2.用onSaveInstanceState保存用户输入的数据 (1)调父类 (2)用findViewById使用id查找并获取View的实例(View所有控件的父类,再强制转换一下) (3)找到实例,获取文本内容:转为字符串 get (4)将获取到内容保存起来 put 3.用onRestoreInstanceState恢复数据 (1)先获取数据 get (2)操

Android实现限制EditText输入文字的数量

一: 声明控件. TextView hasnumTV; TextView hasnum;// 用来显示剩余字数 int num = 50;// 限制的最大字数 二: 主要的方法: hasnumTV = (TextView) findViewById(R.id.tv_num); hasnumTV.setText("限" + num + "" + "字以内"); editText.addTextChangedListener(new TextWatc

一起学android之EditText的各种使用(15)

EditText它与TextVew十分相似,TextView是用来显示文本,并没有录入文本的功能,但EditText可以录入文本,接下来我们看看EditText常用的属性 效果1: <span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match

Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧. 第二点,目前主流app的处理方案也各有不同,qq5.0以前的版本,发表说说貌似是没有字数限制的(我试了一个350字左右的照样发), 5.0以后限制了,这样如果用户