EmojIcon的简单使用
来源:互联网 发布:贝克汉姆 知乎 编辑:程序博客网 时间:2024/05/20 07:18
前言:
前几天比较闲,看到EmojIcon的一个库,拿来用一下,一直忙着别的事,今天就顺便写一写。
效果图
(其中逻辑,点击输入框会弹出系统输入法,收起表情框;点击表情按钮,收起输入法。由于使用模拟器录屏,无法弹出输入框)
MainActivity代码
package com.lg.emojdemo;import android.content.Context;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.inputmethod.InputMethodManager;import io.github.rockerhieu.emojicon.EmojiconEditText;import io.github.rockerhieu.emojicon.EmojiconGridFragment;import io.github.rockerhieu.emojicon.EmojiconTextView;import io.github.rockerhieu.emojicon.EmojiconsFragment;import io.github.rockerhieu.emojicon.emoji.Emojicon;public class MainActivity extends AppCompatActivity implements View.OnClickListener, EmojiconGridFragment.OnEmojiconClickedListener, EmojiconsFragment.OnEmojiconBackspaceClickedListener { private EmojiconEditText mEditEmojicon; private EmojiconTextView mTxtEmojicon; private boolean hasClick; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.imageView).setOnClickListener(this); findViewById(R.id.bt_fs).setOnClickListener(this); mEditEmojicon = (EmojiconEditText) findViewById(R.id.editEmojicon); mEditEmojicon.setOnClickListener(this); mTxtEmojicon = (EmojiconTextView) findViewById(R.id.txtEmojicon); setEmojiconFragment(false); } private void setEmojiconFragment(boolean useSystemDefault) { getSupportFragmentManager() .beginTransaction() .replace(R.id.emojicons, EmojiconsFragment.newInstance(useSystemDefault)) .commit(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.imageView: // 表情按钮 if (hasClick) { findViewById(R.id.emojicons).setVisibility(View.GONE); } else { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘 findViewById(R.id.emojicons).setVisibility(View.VISIBLE); } hasClick = !hasClick; break; case R.id.bt_fs: // 发送按钮 mTxtEmojicon.setText(mTxtEmojicon.getText() + "" + mEditEmojicon.getText()); mEditEmojicon.setText(""); break; case R.id.editEmojicon: // 输入框 findViewById(R.id.emojicons).setVisibility(View.GONE); hasClick = !hasClick; break; } } @Override public void onEmojiconClicked(Emojicon emojicon) { EmojiconsFragment.input(mEditEmojicon, emojicon); } @Override public void onEmojiconBackspaceClicked(View v) { EmojiconsFragment.backspace(mEditEmojicon); } @Override public void onBackPressed() { if(hasClick){ findViewById(R.id.emojicons).setVisibility(View.GONE); hasClick = !hasClick; }else { super.onBackPressed(); } }}
activity_main代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:emojicon="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <io.github.rockerhieu.emojicon.EmojiconTextView android:id="@+id/txtEmojicon" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_weight="5" android:lineSpacingExtra="9dp" emojicon:emojiconAlignment="baseline" emojicon:emojiconSize="20sp" /> <LinearLayout android:id="@+id/ll_pl" android:layout_width="match_parent" android:layout_height="40dp" android:background="#ffffff" android:focusable="true" android:focusableInTouchMode="true" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="6dp"> <io.github.rockerhieu.emojicon.EmojiconEditText android:id="@+id/editEmojicon" android:layout_width="0dp" android:layout_height="30dp" android:layout_weight="5" android:background="@drawable/bg_input" android:hint="@string/hint" android:lineSpacingExtra="9dp" android:paddingLeft="7dp" emojicon:emojiconSize="28sp" /> <ImageView android:id="@+id/imageView" android:layout_width="0.0dp" android:layout_height="30dp" android:layout_weight="1" android:src="@drawable/icon_sr_bq" /> <Button android:id="@+id/bt_fs" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_marginRight="8dp" android:background="#00ddcc" android:text="发送" android:textColor="#ffffff" android:textSize="14sp" /> </LinearLayout> <FrameLayout android:id="@+id/emojicons" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="4.2" android:visibility="gone" /></LinearLayout>
ps:由于使用了一个库文件,所以代码贴上来也没效果,由于文件较大,已上传到github
阅读全文
0 0
- EmojIcon的简单使用
- 记一次emojicon的使用过程
- emojicon表情客户端和服务端的传递
- Emojicon - 为你提供emoji表情的整套方案
- Emojicon Android表情开发
- Emojicon表情之快速应用于Android项目
- emojicon表情在数据库中的存取方法
- 判别是否包含了emojicon表情
- 简单易懂的使用
- ant的简单使用
- Log4j的简单使用
- TCPDUMP的简单使用
- IComparer的简单使用
- TreeView的简单使用
- CListCtrl的简单使用
- Rose的简单使用
- OpenSSL的简单使用
- CInternetSession的简单使用
- Spring+SpringMVC+mybatis+redis(三)
- 权限Demo
- 安装sublime
- 一个mybatis分页工具类
- 简单网络判断
- EmojIcon的简单使用
- MYSQL查询今天,昨天,这个周,上个周,这个月,上个月,今年,去年的数据
- vs2008快捷键极其技巧
- MYSQL 错误收集
- Linux 下安装配置svn服务器
- Ueditor 上传报错
- 详解::explicit
- 线程 线程与进程的区别 并行和并发的区别 线程安全sychronized 等待唤醒机制
- EOFError