• EditText输入表情图像. 看老罗android笔记


    
    
    <?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" >
        
        <!-- 聊天输入 -->
        <EditText
            android:id="@+id/et_chat"
            android:layout_width="300dip"
            android:layout_height="wrap_content"
              />
        
        <Button
            android:id="@+id/bt_insetFace"
            android:layout_width="50dip"
            android:layout_height="wrap_content"
            android:text="插入标签" />
    
    </LinearLayout>



    EditTextFaceActivity .java
    package cn.face;
    
    import java.lang.reflect.Field;  //reflect 反射
    import java.util.Random;
    
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.drawable.BitmapDrawable;
    import android.os.Bundle;
    import android.text.Spannable;
    import android.text.SpannableString;
    import android.text.style.ImageSpan;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class EditTextFaceActivity extends Activity {
    	private EditText et_chat;
    	private  Button bt_insetFace;
    	
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            et_chat = (EditText)findViewById(R.id.et_chat);
            bt_insetFace = (Button)findViewById(R.id.bt_insetFace);
            bt_insetFace.setOnClickListener(new OnClickListener() {
    			
    			public void onClick(View v) {
    				int randomId = 1+ new Random().nextInt(20);
    				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 = new ImageSpan(EditTextFaceActivity.this,bitmap);
    					SpannableString spannableString = new SpannableString("face"); //表情图片前缀为"face"
    					spannableString.setSpan(imageSpan, 0, 4,
    							Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    					et_chat.append(spannableString);
    				}catch(Exception e){
    					
    				}
    			}
    		});
            
    	}
    	
    	
    	
    	
    }
    

      

    看实现图片

  • 相关阅读:
    [易语言] 六边形扫雷游戏实战开发
    [web开发] 利用微信小程序开发上海大学失物招领平台
    [web开发] Vue + spring boot + echart 微博爬虫展示平台
    [web开发] Vue+Spring Boot 上海大学预约系统开发记录
    [神经网络]一步一步使用Mobile-Net完成视觉识别(一)
    Python中操作ini配置文件
    python操作mySQL数据库
    使用python和selenium写一个百度搜索的case
    功能测试的过程中有关数据安全性的检查点
    python主流测试框架的简介
  • 原文地址:https://www.cnblogs.com/firecode/p/2838290.html
Copyright © 2020-2023  润新知