Android监听手机软键盘的弹起和关闭
生活随笔
收集整理的這篇文章主要介紹了
Android监听手机软键盘的弹起和关闭
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在很多App開(kāi)發(fā)過(guò)程中需要在Activity中監(jiān)聽(tīng)Android設(shè)備的軟鍵盤(pán)彈起與關(guān)閉,但是Android似乎沒(méi)有提供相關(guān)的的監(jiān)聽(tīng)API給我們來(lái)調(diào)用,本文提供了一個(gè)可行的辦法來(lái)監(jiān)聽(tīng)軟鍵盤(pán)的彈起與關(guān)閉。
講在前面
在AndroidManifest.xml文件中可以設(shè)置Activity的android:windowSoftInputMode屬性,這個(gè)屬性值常見(jiàn)的設(shè)置如下:
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
那么這里值的含義列表如下:
方法:
首先在AndroidManifest.xml中定義下面的內(nèi)容
MainActivity.java
package com.jackie.softkeyboardlistener;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Toast;public class MainActivity extends Activity implements View.OnLayoutChangeListener {//Activity最外層的Layout視圖private View mRootView;//屏幕高度private int mScreenHeight = 0;//軟件盤(pán)彈起后所占高度閥值private int mKeyHeight = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mRootView = findViewById(R.id.root_layout);//獲取屏幕高度mScreenHeight = this.getWindowManager().getDefaultDisplay().getHeight();//閥值設(shè)置為屏幕高度的1/3mKeyHeight = mScreenHeight / 3;}@Overrideprotected void onResume() {super.onResume();//添加layout大小發(fā)生改變監(jiān)聽(tīng)器mRootView.addOnLayoutChangeListener(this);}@Overridepublic void onLayoutChange(View v, int left, int top, int right,int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {//old是改變前的左上右下坐標(biāo)點(diǎn)值,沒(méi)有old的是改變后的左上右下坐標(biāo)點(diǎn)值// System.out.println(oldLeft + " " + oldTop +" " + oldRight + " " + oldBottom); // System.out.println(left + " " + top +" " + right + " " + bottom);//現(xiàn)在認(rèn)為只要控件將Activity向上推的高度超過(guò)了1/3屏幕高,就認(rèn)為軟鍵盤(pán)彈起if (oldBottom != 0 && bottom != 0 &&(oldBottom - bottom > mKeyHeight)) {Toast.makeText(MainActivity.this, "監(jiān)聽(tīng)到軟鍵盤(pán)彈起...", Toast.LENGTH_SHORT).show();} else if(oldBottom != 0 && bottom != 0 &&(bottom - oldBottom > mKeyHeight)) {Toast.makeText(MainActivity.this, "監(jiān)聽(tīng)到軟件盤(pán)關(guān)閉...", Toast.LENGTH_SHORT).show();}} }
總結(jié)
以上是生活随笔為你收集整理的Android监听手机软键盘的弹起和关闭的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: echart 广州3d_vue echa
- 下一篇: 电子商务系统需求分析