直接撸码:

package com.example.administrator.keyboardapplication;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements View.OnLayoutChangeListener {    private View activityRootView;    private int screenHeight = 0;    private int keyHeight = 0;    private Button myButton;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        activityRootView = findViewById(R.id.root_layout);        screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();        myButton = findViewById(R.id.button);        myButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);                imm.hideSoftInputFromWindow(myButton.getWindowToken(),0);            }        });        keyHeight = screenHeight/3;        activityRootView.addOnLayoutChangeListener(this);    }    @Override    public void onLayoutChange(View v, int left, int top, int right, int bottom,                               int oldLeft, int oldTop, int oldRight, int oldBottom) {        Log.i("iven","left:"+left+"\nright:"+right+"\ntop:"+top+"\nbottom:"+bottom);        Log.i("iven","oldleft:"+oldLeft+"\nOldright:"+oldRight+"\ntop:"+oldTop+"\nbottom:"+oldBottom);        //现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起        if(oldBottom != 0 && bottom != 0 &&(oldBottom - bottom > keyHeight)){            Toast.makeText(MainActivity.this, "监听到软键盘弹起...", Toast.LENGTH_SHORT).show();        }else if(oldBottom != 0 && bottom != 0 &&(bottom - oldBottom > keyHeight)){            Toast.makeText(MainActivity.this, "监听到软件盘关闭...", Toast.LENGTH_SHORT).show();        }    }}

 

更多相关文章

  1. android 界面控件被输入法顶起来解决
  2. [置顶] [Android自定义控件]Android中如何用代码写出优美的Button
  3. Android在程序中动态生成控件,动态布局
  4. Android:横行滚动且隔行变色的ListView控件
  5. Android下拉刷新上拉加载控件的使用
  6. Android弹出和收起输入法键盘
  7. Android space控件:间隙留白
  8. Android软键盘之代码改变软键盘状态
  9. android 控件 3d 旋转效果

随机推荐

  1. android 视频播放器
  2. AndroidのCountDownTimer倒计时器
  3. Android(安卓)查询远程服务器的工具Query
  4. javascript获取Android设备版本信息(备忘)
  5. android 判断网络是否断开
  6. mtk android 配置mcp
  7. android 输出.txt 文本换行问题
  8. Android(安卓)重启应用代码
  9. android自动检测版本更新
  10. Writing a Hello-world Android(安卓)NDK