资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Android监听软键盘弹出与隐藏的两种方法-创新互联

需求:

成都创新互联公司为客户提供专业的网站建设、成都网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、成都手机网站制作等网站方面业务。

现在有一个需求是点击一行文本框,弹出一个之前隐藏的输入框,输入完成后按返回键或者其他的东西隐藏键盘和输入框,将输入框的内容填充到文本框中。

实现:

拿到这个需求的第一反应就是写一个监听来监听键盘的显示和隐藏来控制输入框的显示和隐藏,控制文本框中的内容。
所以我做了如下操作:

  1. 指定android:windowSoftInputMode="adjustResize|stateAlwaysHidden"这个的做法是为了让键盘弹出时改变布局。
  2. 让Activity实现LayoutchangeListener,监听布局的改变,当布局发生的改变为屏幕的1/3时我们认为是键盘导致的。
@Override 
 public void onLayoutChange(View v, int left, int top, int right, 
     int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { 

   //old是改变前的左上右下坐标点值,没有old的是改变后的左上右下坐标点值 

   //现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起 
   if(oldBottom != 0 && bottom != 0 &&(oldBottom - bottom > keyHeight)){ 

     Toast.makeText(MainActivity.this, "监听到软键盘弹起...", Toast.LENGTH_SHORT).show(); 

   }else if(oldBottom != 0 && bottom != 0 &&(bottom - oldBottom > keyHeight)){ 

     Toast.makeText(MainActivity.this, "监听到软件盘关闭...", Toast.LENGTH_SHORT).show(); 

   } 

 }


本文标题:Android监听软键盘弹出与隐藏的两种方法-创新互联
文章来源:http://cdkjz.cn/article/djjpdp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220