android softkeyboard-键盘的弹出事件怎么监听呀

问题描述

键盘的弹出事件怎么监听呀

聊天窗口中的listview, 键盘弹出之后一部分被压住了,要是能监听键盘弹出事件就能解决。监听edittext获得的焦点,不管用因为代码弹出键盘前就运行了 求解决 感激不尽

解决方案

处理键盘弹出事件

解决方案二:



1、键盘显示则隐藏,没有显示则弹出

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

2、通过判断高度来判断键盘状态

detailMainRL = (RelativeLayout) findViewById(R.id.home_news_detail_main_rl);
    detailMainRL.getViewTreeObserver().addOnGlobalLayoutListener(
      new OnGlobalLayoutListener(){
        @Override
        public void onGlobalLayout()
        {

          int heightDiff = detailMainRL.getRootView().getHeight() - detailMainRL.getHeight();
          Log.v(TAG, "detailMainRL.getRootView().getHeight() = " + detailMainRL.getRootView().getHeight());
          Log.v(TAG, "detailMainRL.getHeight() = " + detailMainRL.getHeight());

          if (heightDiff > 100)
          { // 说明键盘是弹出状态
            Log.v(TAG, "键盘弹出状态");
            commentBoxRL.setVisibility(View.VISIBLE);
          } else{
            Log.v(TAG, "键盘收起状态");
            commentBoxRL.setVisibility(View.GONE);
          }
        }
      });

时间: 2024-09-12 08:38:46

android softkeyboard-键盘的弹出事件怎么监听呀的相关文章

listview-键盘的弹出事件怎么监听呀

问题描述 键盘的弹出事件怎么监听呀 聊天窗口中的listview, 键盘弹出之后一部分被压住了,要是能监听键盘弹出事件就能解决.监听edittext获得的焦点,不管用因为代码弹出键盘前就运行了 求解决 感激不尽 解决方案 处理键盘弹出事件 解决方案二: 看看这个http://blog.sina.com.cn/s/blog_6d45d11f0101bxzt.html 解决方案三: 看看这个http://blog.sina.com.cn/s/blog_6d45d11f0101bxzt.html 解决

android-软键盘弹出后如何监听物理返回键

问题描述 软键盘弹出后如何监听物理返回键 大环境是在L 的代码环境下. 在一个界面里有edittext并且给了焦点,在打开该界面时,软键盘会自动弹出.-->ok 现在的问题是:当软键盘弹出后,点击物理返回键,软键盘会消失,再次点击返回键才可以结束该界面. 而且在软键盘弹出后第一次点击返回键,onkeydown,ontouchevent 之类的常规方法均监听不到我的点击操作. 我该如何监听或监听什么才可以在第一次点击返回键时就可以关闭软键盘并且结束activity? thanks~ 解决方案 弹出

Android使用GPS获取用户地理位置并监听位置变化的方法_Android

本文实例讲述了Android使用GPS获取用户地理位置并监听位置变化的方法.分享给大家供大家参考,具体如下: LocationActivity.java /* LocationActivity.java * @author octobershiner * 2011 7 22 * SE.HIT * 一个演示定位用户的位置并且监听位置变化的代码 * */ package uni.location; import android.app.Activity; import android.content

【Android】View如何实现多个监听以及如何设置Bitmap在视图中的位置?

问题描述 [Android]View如何实现多个监听以及如何设置Bitmap在视图中的位置? 自定义了一个View,在onTouch方法里执行的是画笔涂鸦的操作,并且在这个View里面绘制了一个Bitmap.现在这个View还需要监听手势实现Bitmap两个手指缩放.拖动的操作. 1. 请问如何实现多个监听,或者两个监听该如何切换? 2. 请问如何设置Bitmap在View中的位置? 解决方案 Android OpenGL ES 教程 第一章 -- 设置视图(View)android 把view

Android编程之利用服务实现电话监听的方法_Android

本文实例讲述了Android编程之利用服务实现电话监听的方法.分享给大家供大家参考,具体如下: 1. 启动模拟器,部署应用 2. 利用模拟器控制器发送短信启动服务(查看日志输出判断是否成功) 3. 向模拟器拨打电话,并接听,挂断电话后,利用文件管理查看对应的cache目录或者sdcard中生成了3gp文件,并将其复制到pc中播放以验证. 清单设置(一个receiver,一个service,若干权限) <uses-permission android:name="android.permis

android webview加载HTML5网站,监听HTML5视频播放?

问题描述 android webview加载HTML5网站,监听HTML5视频播放? 如题:在android盒子上面自己做了一个apk,布局是一个webview和一个SurfaceView, webview加载一个HTML网站网站代码为: <!DOCTYPE HTML> your browser does not support the video tag 里面播放的是一个avi格式的视频,视频可以播放. 我现在因为要修改视频输出的声道设置,本人有SDK源码,源码的Mediaplayer有设置

android 通过GPS获取用户地理位置并监听位置变化

1 Location Manager 管理服务2 Location Provider 提供数据的content provider 方式一:GPS 特点:精度高,耗电量大,不耗费流量 权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>方式二:NETWORK 特点:精度低,省电,需要网络访问  权限<uses-permission android:name="an

Android开发之Button事件实现与监听方法总结

本文实例总结了Android开发之Button事件实现与监听方法.分享给大家供大家参考,具体如下: 先来介绍Button事件实现的两种方法 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="

Android使用GPS获取用户地理位置并监听位置变化的方法

本文实例讲述了Android使用GPS获取用户地理位置并监听位置变化的方法.分享给大家供大家参考,具体如下: LocationActivity.java /* LocationActivity.java * @author octobershiner * 2011 7 22 * SE.HIT * 一个演示定位用户的位置并且监听位置变化的代码 * */ package uni.location; import android.app.Activity; import android.content