##Emotion

帮你快速集成Android表情键盘,让你的应用不止文字,让表情跳动起来

##It looks Cool

##Usage

Download ZIP,然后解压,将emoji包添加到自己的项目中,然后再Project Structure设置你app的dependiences,点击+号module dependency将emoji添加进来,接下来你就能在项目中快速集成表情键盘了。

##Sample

先在需要使用表情键盘的xml文件中声明,把它放在最底部,当然该布局文件还需要一个AppcompatEditText来支撑文字和表情输入呀~

android:id="@+id/write_smile_panel"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:visibility="visible">

然后在Activity中,

AppCompatEditText editText = (AppCompatEditText) findViewById(R.id.blogEditText);

SmileLayout smileLayout = (SmileLayout) findViewById(R.id.write_smile_panel);

smileLayout.setVisibility(View.GONE);

//!!!初始化,这句话一定要加

smileLayout.init(editText);

//点击表情后弹出表情键盘并隐藏输入法键盘

emoji.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

hideKeyBoard();

if (smileLayout.getVisibility() == View.GONE)

smileLayout.setVisibility(View.VISIBLE);

else

smileLayout.setVisibility(View.GONE);

}

});

//点击edittext后弹出输入法键盘并隐藏表情键盘

editText.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

smileLayout.setVisibility(View.GONE);

showKeyboard();

}

});

其中的hideKeyBoard方法和showKeyBoard方法如下:

/**

* 隐藏键盘

*/

public void hideKeyBoard() {

if (getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {

if (getCurrentFocus() != null) {

InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

}

}

}

/**

* 弹出键盘

*/

public void showKeyboard() {

editText.setFocusable(true);

editText.setFocusableInTouchMode(true);

editText.requestFocus();

InputMethodManager inputManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

inputManager.showSoftInput(editText, 0);

}

##写在最后

二珂女神镇楼

欢迎大家访问我的主页二可

android表情输入键盘,GitHub - UKfire/Emotion: 帮你的Android应用快速集成表情键盘相关推荐

  1. Android 友盟统计 友盟推送 友盟分享快速集成

    一.友盟统计 1.首先需要到友盟官网 http://mobile.umeng.com/apps注册并且添加新应用,获得Appkey 2.导入SDK,新版SDK支持Android 6.0,http:// ...

  2. Android多人视频聊天应用的开发(一)快速集成

    自从2016年,鼓吹"互联网寒冬"的论调甚嚣尘上,2017年亦有愈演愈烈之势.但连麦直播.在线抓娃娃.直播问答.远程狼人杀等类型的项目却异军突起,成了投资人的风口,创业者的蓝海和用 ...

  3. Android: 实现类似QQ、微信的表情输入键盘

    需求 最近在写北邮人论坛客户端时,有一个需求是实现像手机QQ.微信那样的表情输入键盘,效果图: 表情键盘本身并不难做,无非就是一个带SlidingTab的ViewPager,困扰我的地方在于,如何正确 ...

  4. GitHub上最受欢迎的Android开源项目TOP20

    以下这些开源项目都是从GitHub上筛选的,我强烈推荐android程序源代码有时间的时候自己在上面淘淘,或许能发现自己须要的开源程序. 了解开源项目有两个优点: 1.借鉴代码,一般来说.火爆的开源项 ...

  5. GitHub 上排名前 100 的 Android 开源库介绍

    转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...

  6. GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    本文转载于:https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md 本项目主要对目前 Gi ...

  7. GitHub上排名前100的Android开源库介绍

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然 ...

  8. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

  9. GitHub上排名前100的Android开源库(201603)

    https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md 本项目主要对目前 GitHub 上 ...

最新文章

  1. js 判断数据类型的几种方法
  2. SQL Server中EXISTS结构
  3. 人工智能到底是啥_人工智能的本质究竟是什么?
  4. tenginx配置负载均衡
  5. dojo中 xhr.post向后台传参出现乱码
  6. ElementUI中的el-table怎样实现绑定对象数组时每一列不同控件的动态数据绑定
  7. 使用openvswitch网桥连接不同的network namespace
  8. Oracle批量、大量Update方法总结
  9. 《数据挖掘导论》绪论
  10. 计算机专业需要外语口试,计算机专业英语词汇大全,计算机专业必读英语词汇!...
  11. 学计算机每天应该吃什么,长期坐在电脑前的上班族吃什么食物好
  12. 【SDOI2015】寻宝游戏
  13. ansible 远程Windows主机
  14. c语言列出最简真分数序列,C语言实例 列出真分数序列
  15. golang gin框架全局捕获500和404
  16. am335x linux 的uboot工作流程.doc,am335x uboot2016.05 (MLO u-boot.img)执行流程(转)
  17. Android 深入理解 ANR 触发原理:Service
  18. 9 个非常实用的网络调试命令,你会用几个呢?
  19. 三种平摊分析的方法分别为_关于平摊分析、表的扩增、势能分析初步理解
  20. 【HDU 1043】Eight(A*启发式搜索算法)

热门文章

  1. 【比赛】论如何七天内在研究生电子设计竞赛中拿国奖
  2. 云炬随笔20171202
  3. 干货 | 126 篇 AI 原创文章精选(ML、DL、资源、教程)
  4. python模板语言_Python Django 模板语言之 Tags(标签)
  5. python字符串与文本处理技巧(2):大小写敏感搜索、最短匹配、多行匹配、Unicode标准化
  6. log4net在winform中release后不工作的原因
  7. 为什么说线索二叉树是一种物理结构
  8. 阿里云linux服务器初步使用
  9. 程序员面试系列——合并排序(递归实现)
  10. HashSet、TreeSet、TreeMap实现原理