android软键盘现实和隐藏的监听
来源:互联网 发布:nba球员体测数据排行 编辑:程序博客网 时间:2024/05/01 13:35
http://stackoverflow.com/questions/4312319/howto-capture-the-virtual-keyboard-show-hide-event-in-android
http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android?lq=1
大概的方法就是监听view的的高度的变化,来判断软键盘的显示和隐藏。
注意:一点就是属性要设置的好,很多情况下试adjustResize才有效。
import java.util.Arraylist;import android.content.Context;import android.util.AttributeSet;import android.widget.RelativeLayout;public class KeyboardDetectorRelativeLayout extends RelativeLayout { public interface IKeyboardChanged { void onKeyboardShown(); void onKeyboardHidden(); } private ArrayList<IKeyboardChanged> keyboardListener = new ArrayList<IKeyboardChanged>(); public KeyboardDetectorRelativeLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public KeyboardDetectorRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); } public KeyboardDetectorRelativeLayout(Context context) { super(context); } public void addKeyboardStateChangedListener(IKeyboardChanged listener) { keyboardListener.add(listener); } public void removeKeyboardStateChangedListener(IKeyboardChanged listener) { keyboardListener.remove(listener); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int proposedheight = MeasureSpec.getSize(heightMeasureSpec); final int actualHeight = getHeight(); if (actualHeight > proposedheight) { notifyKeyboardShown(); } else if (actualHeight < proposedheight) { notifyKeyboardHidden(); } super.onMeasure(widthMeasureSpec, heightMeasureSpec); } private void notifyKeyboardHidden() { for (IKeyboardChanged listener : keyboardListener) { listener.onKeyboardHidden(); } } private void notifyKeyboardShown() { for (IKeyboardChanged listener : keyboardListener) { listener.onKeyboardShown(); } }}
0 0
- android软键盘现实和隐藏的监听
- android软键盘的现实和隐藏
- Android监听软键盘的弹起和隐藏
- Android 软键盘弹起隐藏的监听
- Android软键盘的隐藏显示监听
- 监听软键盘的显示和隐藏
- 监听软键盘的隐藏和弹出
- 软键盘隐藏和弹出的监听
- android监听软键盘隐藏
- Android中软键盘InputMethodManager的弹出和隐藏,以及显示和隐藏的监听
- android Edittext 监听软键盘弹出显示和消失隐藏
- Android windowSoftInputMode软键盘显示和隐藏的监听和实现
- android 关于软键盘的显示和隐藏监听,解决挡住Editview的问题
- android 监听判断软键盘的弹出、隐藏状态
- Android监听软键盘的显示与隐藏
- Android监听软键盘的显示与隐藏
- Android 监听软键盘的显示与隐藏
- android 监听软键盘的显示与隐藏
- 【SpringMVC之配置文件(一)】spring 里面的ApplicationContext.xml 和 xxx-servlet.xml分别的作用是什么?
- Python编写程序实现把某一文件夹下的所有文件重新命名为他的MD5值
- Longest Substring Without Repeating Characters
- UICollectionView基础
- 关于Velocity加减法等四则运算的迷思
- android软键盘现实和隐藏的监听
- 堆的基本操作
- 背景音乐
- D9035 : Fr”选项已否决,并将在将来的版本中移除
- drools mvel2.0语法指南
- MongoDB学习笔记--GridFS
- JavaScript几个坑
- cocos2dx 几个精灵按照顺序播放动画解决方法
- Eclipse远程调试