经常在使用输入法时,输入法界面会遮住输入框所在界面的按钮,解决办法是:
方法:
1、首先获取布局界面的Layout对像,假设名称为FrameLayout01;
定义全局对象private FrameLayout FrameLayout01;
并声明这个对象
FrameLayout01 = (FrameLayout) findViewById(R.id.FrameLayout01);
2、监听输入框文本框的事件,假设文本框的对象名称为password,代码:
password.setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View arg0, boolean arg1) {
// TODO Auto-generated method stub
if(arg1)
{
LayoutParams lp = (LayoutParams) FrameLayout01.getLayoutParams();
lp.setMargins(0, -320, 0, 0);
FrameLayout01.setLayoutParams(lp);
}
else
{
LayoutParams lp = (LayoutParams) FrameLayout01.getLayoutParams();
lp.setMargins(0, 0, 0, 0);
FrameLayout01.setLayoutParams(lp);
}
}
});
上面代码的-320是top位置减320,也就是改变FrameLayout01的位置,使其往上移,通过改变top的值来实现不被软键盘遮住的效果。