zoukankan      html  css  js  c++  java
  • 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){
    					
    				}
    			}
    		});
            
    	}
    	
    	
    	
    	
    }
    

      

    看实现图片

  • 相关阅读:
    自己实现迭代器
    Python基础教程(入门教程),30分钟玩转Python编程!!
    centos7安装python 与卸载python
    docker 批量导入本地 tar 镜像包的 sao 操作
    无线路由器信道怎么设置 无线路由器信道选择哪个好
    关于打包压缩几种格式(gzip,bzip2,xz)的试验对比
    linux 长期运行程序的 四种方法
    win10快捷键大全 win10常用快捷键
    linux bg和fg命令
    Apache htpasswd命令用法详解
  • 原文地址:https://www.cnblogs.com/firecode/p/2838290.html
Copyright © 2011-2022 走看看