module链接:https://download.csdn.net/download/meixi_android/10652565

compile project(':edlibrary')
, ':edlibrary'
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/root_view"android:orientation="vertical"><ScrollViewandroid:id="@+id/sv_main"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"><LinearLayoutandroid:id="@+id/all_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><EditTextandroid:id="@+id/normal_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="普通键盘" /><EditTextandroid:id="@+id/special_ed"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="特殊键盘"android:inputType="numberPassword"/></LinearLayout></ScrollView>
</LinearLayout>
private LinearLayout rootView;
private ScrollView scrollView;private EditText specialEd;
private KeyboardUtil keyboardUtil;
 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rootView = (LinearLayout) findViewById(R.id.root_view);scrollView = (ScrollView) findViewById(R.id.sv_main);specialEd = (EditText) findViewById(R.id.special_ed);initMoveKeyBoard();}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 ) {if(keyboardUtil.isShow){keyboardUtil.hideSystemKeyBoard();keyboardUtil.hideAllKeyBoard();keyboardUtil.hideKeyboardLayout();}else {return super.onKeyDown(keyCode, event);}return false;} elsereturn super.onKeyDown(keyCode, event);}private void initMoveKeyBoard() {keyboardUtil = new KeyboardUtil(this, rootView, scrollView);
//        keyboardUtil.setOtherEdittext(normalEd);// monitor the KeyBarod statekeyboardUtil.setKeyBoardStateChangeListener(new KeyBoardStateListener());// monitor the finish or next KeykeyboardUtil.setInputOverListener(new inputOverListener());specialEd.setOnTouchListener(new KeyboardTouchListener(keyboardUtil, KeyboardUtil.INPUTTYPE_NUM, -1));}class KeyBoardStateListener implements KeyboardUtil.KeyBoardStateChangeListener {@Overridepublic void KeyBoardStateChange(int state, EditText editText) {
//            System.out.println("state" + state);
//            System.out.println("editText" + editText.getText().toString());}}class inputOverListener implements KeyboardUtil.InputFinishListener {@Overridepublic void inputHasOver(int onclickType, EditText editText) {
//            System.out.println("onclickType" + onclickType);
//            System.out.println("editText" + editText.getText().toString());}}

Android 自定义软键盘实现相关推荐

  1. android自定义系统键盘,Android自定义软键盘

    [实例简介] Android自定义软键盘 [实例截图] [核心代码] keydemo └── keydemo ├── AndroidManifest.xml ├── bin │   ├── class ...

  2. Android 自定义软键盘实现 数字九宫格

    前言 最近项目在对接美团外卖功能 实现外面小哥凭取货码取货 对接完功能后 用户反馈 弹出的软键盘 很难输入 数字太小了 大概是下面这种显示方式 需求 组长说 要不搞一个自定义软键盘吧 数字搞大点 方便 ...

  3. Android自定义软键盘输入法,隐藏系统输入法显示光标的实现

    android实现自定义软键盘,先上图看效果,效果基本上是仿ios输入法实现的 这里是实现隐藏系统输入法,同时让EditText能获取光标的代码部分(通过反射调用): <span style=& ...

  4. Android自定义软键盘样式:字母、数字、标点三种切换

    先看效果图: 1.在需要的调用软键盘的activity_mian.xml中加入键盘控件 <!--自定义键盘控件--> <RelativeLayoutandroid:layout_wi ...

  5. android自动软键盘,Android自定义软键盘

    MyKeyboard Android自定义键盘的使用 实现步骤 第一步: 1.新建一个xml文件夹放在res目录下面,然后新建xml文件:money_keyboard.xml 2.然后在XML文件中添 ...

  6. Android 自定义软键盘实现 数字九宫格,2021年Android常见面试题目

    实现效果GIF 实现代码 自定义View 一个NineNumericKeyboardView /** Author by Lyu Date on 2021/5/26-19:55 Description ...

  7. android 自定义软键盘

    哦然间发现了android.inputmethodservice.Keyboard类,即android可以自定义键盘类,做了一个简单例子供大家参考, 首先看看效果图: 键盘内容布局:keyconten ...

  8. android自定义键盘开源,Android自定义软键盘的设计与实现代码

    偶然间发现了Android.inputmethodservice.Keyboard类,即android可以自定义键盘类,做了一个简单例子供大家参考. 效果如下: 先看界面布局文件 android:la ...

  9. Android自定义软键盘的实现

    先看界面布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...

最新文章

  1. win8 metro 拖拽重排grid
  2. Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!
  3. R语言plotly可视化:plotly可视化箱图、基于预先计算好的分位数、均值、中位数等统计指标可视化箱图、箱图中添加缺口、可视化均值和标准差(With Precomputed Quartiles)
  4. 双击“本地连接”打不开无反应的解决方法
  5. 启明云端WT516P6Core离线语音模块发布后,开发者朋友提出的问题最多的是:是否可以自己编译指令
  6. Linux Shell编程之一循环结构
  7. 剑指Offer 31 栈的压入、弹出序列
  8. CRM Fiori Launchpad初次登陆后返回的service metadata信息
  9. MySQL提供了以下三种方法用于获取数据库对象的元数据
  10. java中DatagramSocket连续发送多个数据报包时产生丢包现象解决方案
  11. [转载] Java static关键字与static{}语句块
  12. 我们为什么都应该坚持写博客,意义何在?
  13. 如何实现HashMap顺序存储
  14. html中点击 checkbox (radio也可以) 隐藏tr 或 展现tr
  15. 【短文本聚类】TextCluster:短文本聚类预处理模块 Short text cluster
  16. Django模型(model)系统
  17. 真3D麻将游戏桌面适配任意分辨率
  18. pcs7服务器一直显示在同步,西门子PCS7OS系统时钟同步出现跳变的解决方法
  19. 计算机网络自顶向下方法 习题参考答案 第三章
  20. attention 文字识别算法_一文带你了解文字识别

热门文章

  1. [css] 你所理解的css高级技巧有哪些?
  2. [css] 说说你对table-layout的理解,它有什么运用场景?
  3. [js] 举例说明面向对象编程有什么缺点?
  4. 前端学习(2362):上拉加载
  5. 前端学习(2063):vue的生命周期
  6. 前端学习(1805):前端调试之列表伪类练习
  7. 前端学习(1704):前端系列javascript之问题解答2和总结
  8. 第二十八期:阿里云VS腾讯云 谁才是中国未来的云计算之王?
  9. java学习(137):java异常初识
  10. mysql的join算法,Mysql Join 连接算法