导航:首页 > 操作系统 > android监听软键盘收起

android监听软键盘收起

发布时间:2024-07-25 12:28:26

android如何监听软键盘输入法的删除键

参考下面代码:
editText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL
&& event.getAction() == KeyEvent.ACTION_DOWN) {
事件
return true;
}
return false;
}
});

❷ H5濡备綍瀵笕ndroid鍜宨os镓嬫満杞阌鐩樼殑鐩戝惉

    镐荤粨锛

    1.鍦╥os涓杞阌鐩桦脊璧锋椂锛屼粎浼氩紩璧穊ody镄剆crollTop鍊兼敼鍙桡纴浣嗘槸鎴戜滑鍙浠ラ氲繃杈揿叆妗嗙殑銮峰彇铹︾偣𨱍呭喌𨱒ュ仛鍒ゆ柇锛屽崟涔熷彧鑳藉湪ios涓閲囩敤杩欎釜鏂规堬纴锲犱负鍦╝ndroid涓瀛桦湪涓诲姩鍙楁皵阌鐩桦悗锛屼絾杈揿叆妗嗗苟娌℃湁澶卞幓铹︾偣锛岃宨os涓阌鐩桦弹姘斿悗灏变细澶卞幓铹︾偣锛

2.鍦╝ndrois涓杞阌鐩桦脊璧锋垨鏀惰捣镞讹纴浼氭敼鍙榳indow镄勯珮搴︼纴锲犳ょ洃钖瑆indow镄刼nresize浜嬩欢锛

涓銆丄ndroid

//銮峰彇铡熺獥鍙g殑楂桦害

var originalHeight=document.documentElement.clientHeight ||document.body.clientHeight;

window.onresize=function(){

    //阌鐩桦脊璧蜂笌闅愯棌閮戒细寮曡捣绐楀彛镄勯珮搴﹀彂鐢熷彉鍖

      var resizeHeight=document.documentElement.clientHeight || document.body.clientHeight;

        if(resizeHeight-0<originalHeight-0){

        //褰撹蒋阌鐩桦脊璧凤纴鍦ㄦゅ勬搷浣

        }else{

        //褰撹蒋阌鐩樻敹璧凤纴鍦ㄦゅ勬搷浣

        }

}

浜屻乮os

focusin鍜宖ocusout鏀鎸佸啋娉★纴瀵瑰簲focus鍜宐lur, 浣跨敤focusin鍜宖ocusout镄勫师锲犳槸focusin鍜宖ocusout鍙浠ュ啋娉★纴focus鍜宐lur涓崭细鍐掓场锛岃繖镙峰氨鍙浠ヤ娇鐢ㄤ簨浠朵唬鐞嗭纴澶勭悊澶氢釜杈揿叆妗嗗瓨鍦ㄧ殑𨱍呭喌銆

document.body.addEventListener('focusin', () => {

            //杞阌鐩桦脊鍑虹殑浜嬩欢澶勭悊

            if(isIphone()锛墈

            }

        })

  document.body.addEventListener('focusout', () => {

      //杞阌鐩樻敹璧风殑浜嬩欢澶勭悊

        if(isIphone()锛墈

        }

  })

鐗规ゅ0鏄庢枃绔犲嚭澶勶细 https://blog.csdn.net/u012982629/article/details/81905894

❸ Android 手机软键盘的弹起和关闭的监听

       在猜迟掘很多Android App 开发的过程中,需要对Activity 中 软键盘的弹起和关闭进项监听,但是Andoid中并没有提供相对应的api进行监听, 我有一个简单的方法。

首先需要知道穗核一些基础知识

在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下:android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

那么这里值的含义列表如下:

1、stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

2、stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

3、stateHidden:用户选择activity时旦含,软键盘总是被隐藏

4、stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

5、stateVisible:软键盘通常是可见的

6、stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

7、adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

8、adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

9、adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

案例:

1.我们需要将监听所在的Activity在Manifest文件中的设置为如下形式:

<activity 

android:name="com.zy.project.MainActivity"

android:label="@string/app_name"

android:windowSoftInputMode="stateAlwaysHidden|adjustResize" >

<intent-filter>

         <action android:name="android.intent.action.MAIN/>

        <category android:name="android.intent.category.LAUNCHER/>

</intent-filter>

</activity>

当有软键盘弹起时,Activity的布局大小会被滚动上去,但是你仍然可以通过滑动浏览所有。

2 需要在外层布局文件设置一个id,并在activity 中设置监听

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnLayoutChangeListener;

import android.widget.Toast;

public class MainActivity extends Activity implements OnLayoutChangeListener{

//Activity最外层的Layout视图

private View rootView;

//屏幕高度

private int screenHeight = 0;

//软件盘弹起后所占高度阀值 一般是占用屏幕的1/3

private int keyHeight = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

rootView = findViewById(R.id.root_layout);

//获取屏幕高度

screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();

//阀值设置为屏幕高度的1/3

keyHeight = screenHeight/3;

}

@Override

protected void onResume() {

super.onResume();

//添加layout大小发生改变监听器

rootView.addOnLayoutChangeListener(this);

}

@Override

public void onLayoutChange(View v, int left, int top, int right,int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {

//old是改变前的左上右下坐标点值,没有old的是改变后的左上右下坐标点值

// System.out.println(oldLeft + " " + oldTop +" " + oldRight + " " + oldBottom);

// System.out.println(left + " " + top +" " + right + " " + bottom);

//现在认为只要控件将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();

}

}

本文来自:http://m.blog.csdn.net/bear_huangzhen/article/details/45896333

阅读全文

与android监听软键盘收起相关的资料

热点内容
看电视可以用什么app 浏览:943
安卓路由表怎么看 浏览:76
10个小孩分糖果python 浏览:825
安卓app小红点怎么取消 浏览:288
马哥linux面授 浏览:772
2345程序员 浏览:374
怎么开启网速显示安卓 浏览:206
索尼950app怎么样 浏览:400
计算机毕设论文源码 浏览:148
小米手机怎么下载易媒体App 浏览:191
还原系统设计可以怎样清理文件夹 浏览:670
北京时间校准服务器云服务器 浏览:844
pythonexcel数据计算 浏览:49
内医附院党建APP怎么下载 浏览:356
荣耀v20刷加密门禁卡 浏览:329
app缓冲视频怎么保存在手机 浏览:433
广度优先算法c语言 浏览:680
提高程序员竞争力 浏览:108
nfc可以开加密门卡吗 浏览:675
如何知道网页使用的服务器是什么 浏览:224