把键盘抵上去
来源:互联网 发布:淘宝培训学校怎么样 编辑:程序博客网 时间:2024/04/30 15:07
1.
import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.widget.RelativeLayout;public class KeyboardLayout extends RelativeLayout {private static final String TAG = KeyboardLayout.class.getSimpleName();public static final byte KEYBOARD_STATE_SHOW = -3;public static final byte KEYBOARD_STATE_HIDE = -2;public static final byte KEYBOARD_STATE_INIT = -1;private boolean mHasInit;private boolean mHasKeybord;private int mHeight;private onKybdsChangeListener mListener;public KeyboardLayout(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}public KeyboardLayout(Context context, AttributeSet attrs) {super(context, attrs);}public KeyboardLayout(Context context) {super(context);}/** * set keyboard state listener */public void setOnkbdStateListener(onKybdsChangeListener listener){mListener = listener;}@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) {super.onLayout(changed, l, t, r, b);if (!mHasInit) {mHasInit = true;mHeight = b;if (mListener != null) {mListener.onKeyBoardStateChange(KEYBOARD_STATE_INIT);}} else {mHeight = mHeight < b ? b : mHeight;// ȡ���}if (mHasInit && mHeight > b) {mHasKeybord = true;if (mListener != null) {mListener.onKeyBoardStateChange(KEYBOARD_STATE_SHOW);}Log.w(TAG, "show keyboard.......");}if (mHasInit && mHasKeybord && mHeight == b) {mHasKeybord = false;if (mListener != null) {mListener.onKeyBoardStateChange(KEYBOARD_STATE_HIDE);}Log.w(TAG, "hide keyboard.......");}}public interface onKybdsChangeListener{public void onKeyBoardStateChange(int state);}}2.
在xml文件下面的布局改成com.handongkeji.widget.KeyboardLayout 给个id parent
3.在项目里面开始初始化
private KeyboardLayout parent;
4.
实现监听的接口implements onKybdsChangeListener
5.
@Override public void onKeyBoardStateChange(int state) { switch (state) { case KeyboardLayout.KEYBOARD_STATE_SHOW: break; case KeyboardLayout.KEYBOARD_STATE_HIDE: break; } etlastAddress.addOnLayoutChangeListener(new OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { scrollview.smoothScrollBy(0, etlastAddress.getHeight()); } }); }
0 0
- 把键盘抵上去
- android中键盘把内容挤上去该如何解决
- 从键盘输入一些字符,逐个把它们送到键盘上去,直到输入一个"#"为止
- 安卓开发中 防止系统键盘把布局推动上去的方法
- Android软键盘弹出,RelativeLayout 布局会把原来的界面挤上去的问题,设置了隐藏键盘也没效果
- 把鼠标放上去会看到惊喜
- 使用git把本地文件放到github上去
- 解决键盘将bottombar挤上去的问题。
- Android 让界面不被弹出的键盘挤上去
- android让界面不被弹出的键盘挤上去
- 像微信的底部菜单栏被键盘挤上去
- 图呢?怎么把Tomcat 的时序图放上去?
- 当把鼠标放上去以后呈手型代码
- 我把四个正方形的电影角都折上去
- 怎么把做好的网站发布到互联网上去
- 开发机就该把配置搞上去
- 把Git Repository建到U盘上去(转载)
- android软键盘把页面挤上去的解决方法
- win7下64位系统memcache/memcached安装
- 欢迎使用CSDN-markdown编辑器
- SHELL编程之内建命令
- Android XML当中的Pull方式
- 嵌入互操作类型是什么鬼
- 把键盘抵上去
- vavado----design with IP
- cout打印变量中所有位的值
- Python学习-BeautifulSoup模块
- pop项目之一
- 与abas ERP共同探索移动手机应用的发展历程
- 如何查看UDID(唯一标识码)
- 在Unity中接入Xbox360手柄
- 让最没用的WIFI变成最好用的WIFI———树莓派搭建VPN服务器