当前位置: 首页 > 编程笔记 >

Android编程开发之EditText实现输入QQ表情图像的方法

司雅畅
2023-03-14
本文向大家介绍Android编程开发之EditText实现输入QQ表情图像的方法,包括了Android编程开发之EditText实现输入QQ表情图像的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Android编程开发之EditText实现输入QQ表情图像的方法。分享给大家供大家参考,具体如下:

实现效果如下:

将QQ表情图像放到res下的drawable-hdpi文件夹下:

布局文件:

<EditText
  android:id="@+id/edittext"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_marginTop="10dp"
  android:inputType="text">
 </EditText>
 <Button
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignLeft="@+id/edittext"
  android:layout_alignRight="@+id/edittext"
  android:layout_below="@+id/edittext"
  android:layout_marginTop="38dp"
  android:text="添加QQ表情" />

MainActivity.java:

package com.example.edittext1;
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.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
 //声明控件对象
 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.button1);
  //为按钮注册点击事件
  button.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    //产生随机数 随机数是从0开始,所以要加1,这样就会产生1到9的随机数
    int randomId=1+new Random().nextInt(9);
    try {
     //获取表情图片文件名
     Field field=R.drawable.class.getDeclaredField("face"+randomId);
     int resourceId = Integer.parseInt(field.get(null).toString());
     // 在android中要显示图片信息,必须使用Bitmap位图的对象来装载
     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resourceId);
     //要让图片替代指定的文字就要用ImageSpan
     ImageSpan imageSpan = new ImageSpan(MainActivity.this, bitmap);
     SpannableString spannableString = new SpannableString("face");//face就是图片的前缀名
     spannableString.setSpan(imageSpan, 0, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
     editText.append(spannableString);
    } catch ( Exception e) {
    }
   }
  });
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
}

希望本文所述对大家Android程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Android编程开发实现TextView显示表情图像和文字的方法,包括了Android编程开发实现TextView显示表情图像和文字的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程开发实现TextView显示表情图像和文字的方法。分享给大家供大家参考,具体如下: 从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息

  • 本文向大家介绍Android编程实现QQ表情的发送和接收完整实例(附源码),包括了Android编程实现QQ表情的发送和接收完整实例(附源码)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现QQ表情的发送和接收。分享给大家供大家参考,具体如下: 在自己做一个聊天应用练习的时候,需要用到表情,于是就想着模仿一下QQ表情,图片资源完全copy的QQ.apk,解压就可以得到

  • 本文向大家介绍Android编程开发之EditText中inputType属性小结,包括了Android编程开发之EditText中inputType属性小结的使用技巧和注意事项,需要的朋友参考一下 本文总结分析了Android编程开发之EditText中inputType属性。分享给大家供大家参考,具体如下: android 1.5以后添加了软件虚拟键盘的功能,所以在输入提示中将会有对应的软键盘

  • 本文向大家介绍Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法,包括了Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法。分享给大家供大家参考,具体如下: 先看效果图: 源码如下: 布局文件: Main

  • 本文向大家介绍C#编程实现QQ界面的方法,包括了C#编程实现QQ界面的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#编程实现QQ界面的方法。分享给大家供大家参考,具体如下: 步骤: 1.新建一个页面,假如说叫VerticalMenu 2.把html代码copy到html代码区 3.把LoadTopMenu方法copy到cs代码区 4.运行即可 1.html代码 2.cs代码 3.

  • 本文向大家介绍Android编程之菜单实现方法,包括了Android编程之菜单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之菜单实现方法。分享给大家供大家参考,具体如下: 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机都要有一个“menu”键,即菜单键,由此可见菜单在Android程序中的重要与特殊,其中Andr