导航:首页 > 操作系统 > 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监听软键盘收起相关的资料

热点内容
Python写出特效 浏览:976
加密的zip压缩包修复 浏览:415
安卓系统源码如何混淆 浏览:291
题库算法 浏览:476
临沂压缩机生产厂家 浏览:942
cad旋转角度命令 浏览:389
阿里云是用什么牌子服务器 浏览:670
java基础入门百度云 浏览:979
360压缩咋加密 浏览:354
hadoopmapreduce编程 浏览:302
linuxraid软件 浏览:589
北美gre范文pdf 浏览:264
硬盘录像机接什么服务器设备 浏览:502
智慧医疗方面最优算法 浏览:920
服务器ban掉了是什么意思 浏览:394
vvo手机拍的视频在哪个文件夹 浏览:838
华为防火墙cli命令手册 浏览:895
于正新剧玉楼春在什么App播放 浏览:127
学习社会经验下载什么app 浏览:475
php发布站程序 浏览:204