Android判断输入框的状况
2015-10-27 16:51
471 查看
整体思路
定义一个layout,重写onMeasure。定义一个变量,记录两次方法的差值。通过这个差值来判断是否弹出输入框。当然,这是取巧。1、定义一个布局
package com.example.testandroid.view; import android.content.Context; import android.content.res.Resources; import android.util.AttributeSet; import android.widget.FrameLayout; /** * Created by Administrator on 13-6-27. * * @author ll * @version 2.0.0 */ public class MonitorSizeEventFrameLayout extends FrameLayout { private int mPreviousHeight; /** * MonitorSizeEventFrameLayout * * @param context context * @param attrs attrs */ public MonitorSizeEventFrameLayout(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int measureHeight = MeasureSpec.getSize(heightMeasureSpec); if (mPreviousHeight != 0) { int navigationBarHeight = getNavigationBarHeight(); if (measureHeight < mPreviousHeight - navigationBarHeight) { // 减去底部虚拟键盘高度,过滤掉虚拟键盘显隐产生的页面高度变化 System.out.println("打开了"); } else if (measureHeight - navigationBarHeight > mPreviousHeight) { System.out.println("关闭了"); } } mPreviousHeight = measureHeight; super.onMeasure(widthMeasureSpec, heightMeasureSpec); } /** * 获取底部虚拟键Navigation Bar的高度 * @return */ private int getNavigationBarHeight() { Resources resources = getResources(); int resourceId = resources.getIdentifier("navigation_bar_height","dimen", "android"); int height = resources.getDimensionPixelSize(resourceId); return height; } }
2、在Actiivty的布局文件中添加自定义布局
3、在manifest添加
android:windowSoftInputMode="stateHidden|adjustResize"
相关文章推荐
- Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标
- Android L中水波纹点击效果的实现
- Android开发,共享数据SharedPreferences的使用,用于存储数据和状态的方法
- Android下使用Crashlytics
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
- AndroidDevTools简介
- Android HandlerThread 完全解析
- [Android Pro] Android 4.3 NotificationListenerService使用详解
- Android 获取有TabActivity继承关系的子类名的方法 及 获取Activity类名的方法
- 如何让android开机后自动运行自己的程序
- ListView或GridView 顶部间距
- Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix
- Android 使用CheckBox实现ListView自定义单选
- Android github开源项目学习之—仿知乎APP(一)
- android weight属性
- androidstudio快捷键
- Android实战技巧:多线程AsyncTask(版本不同,有点差异)
- Android开发,使用Volley框架进行简单数据交互
- Android Canvas使用
- Android动画循环弹动cycleInterpolator