Android获取虚拟软键盘高度】的更多相关文章

public static int getDpi(Context context) { int dpi = 0; WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display display = windowManager.getDefaultDisplay(); DisplayMetrics displayMetrics = new DisplayM…
//获取虚拟按键的高度 public static int getNavigationBarHeight(Context context) { int result = 0; if (hasNavBar(context)) { Resources res = context.getResources(); int resourceId = res.getIdentifier("navigation_bar_height", "dimen", "androi…
微信浏览器在版本6.7.4及以上会有这个bug:页面的input唤醒软键盘再收起后,页面会出现软键盘高度的空白背景,触摸到滚动条会消失恢复! 解决代码 后台框架嵌入iframe的情景,iframe内部页面输入框唤醒软键盘,控制顶层window滚动 var wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i); if(wechatInfo){ $("input,textarea").blur(functi…
软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog.        InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示.当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示. 软键盘显示的调整 android定义了一个属性,名字为windowSoftInputMode, 这个属性用于设置Ac…
要想实现这样的软键盘出现的时候会自己主动把输入框的布局顶上去的效果,须要设置输入法的属性,有下面两种设置方式:     一.在java代码中设置例如以下:      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);    二.在androidmani…
一.当Activity启动后EditText直接获取了焦点,此时软键盘会自动弹出,这种体验并不是很好,因此要做的Activity启动不自动弹出软键盘,只需要在Manifest中对应的Activity添加以下这句话就可以了: android:windowSoftInputMode="stateHidden" 二.软键盘弹出后会把布局打乱,比如底部导航被顶在上边,解决这个问题同样在Manifest中对应Activity加上配置,使软键盘弹出不影响布局: android:windowSoft…
最近写的APP,老师说我的登陆界面虽然有ScrollView滑动,但用户体验不太好,因为软键盘会挡住输入框或登录button(小米Pad,横屏,当指定只能输入数字时没找到关闭系统自带键盘的下箭头). 虽然我觉得ScrollView就够用了,能找到登录按钮…… 在默默吐槽了下连搜狗都有的功能小米没有后,上网上搜索了下解决办法. 首先,当activity加载完成后,屏蔽EditText自动弹出软键盘,需要一句话: getWindow().setSoftInputMode(WindowManager.…
最近再做一个查询内的小应用,界面最上面是一个EditText查询框,进行Activity后,总会弹起软键盘.这样就挡住了查询框下面的其他查询条件 控件,感觉很不友好.所以现在要做的就是在进入Activity后,不弹出软键盘了,只有手动点击输入框才会弹出.实现方法如下: 在AndroidManifest.xml里面选择那个acitivity, 把他的android:windowSoftInputMode设置成 stateHidden和 adjustUnspecified <activity and…
Android系统并没有提供明显的API来监听软键盘的弹出和关闭,但是在某些情况下我们还是有办法来检测软键盘的弹出和关闭. 从StackOverflow找到了一个不错的方法.但是这种只适用于在manifest中目标Activity设置android:windowSoftInputMode=”adjustResize”的情况. adjustResize表示The activity’s main window is always resized to make room for the soft k…
刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法关闭. 于是我才上网找了一些关于Android如何隐藏输入法的网页看了一下.发现普遍的方法如下:((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)). hideSoftInputFromWindow(MyActivity.th…
今天要做一个搜索功能,搜索界面采用AutoCompleteTextView做搜索条,然后下面用listview来显示搜索结果,而我的主界面是在底 部用tab做了一个主界面导航,其中有一个搜索按钮,因为在搜索条中输入文字的时候会弹出软件盘,但是如果不做什么设置的话,软键盘弹出来的同时,会把我 下面的tab导航给相应拉到屏幕的上面,界面显示的扭曲啊,后来找到一种解决方法,在相应的activity中(比如我这是tab的activity,用 的是adjustpan)添加 android:windowSo…
我们在Android提供的EditText中单击的时候,会自动的弹 出软键盘,其实对于软键盘的控制我们可以通过InputMethodManager这个类来实现.我们需要控制软键盘的方式就是两种一个是像 EditText那样当发生onClick事件的时候出现软键盘,还有就是当打开某个程序的时候自动的弹出软键盘. public class InputMethodManagerTest extends Activity implements OnClickListener{ private Butto…
1.使用 SearchView xml加入 android:imeOptions="actionDone|flagNoExtractUi" 可以限制软键盘禁止全屏 <android.support.v7.widget.SearchView android:layout_marginTop="5dp" android:layout_marginBottom="2dp" android:layout_weight="1" a…
前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“Go”按键加载url页面:在点击搜索框的时候,点击右下角的search符号键可以进行搜索:或者在全部数据输入完毕后,点击右下角的"done"就马上进行下一步操作. 效果图: function 1: 重写Activity的dispatchKeyEvent(KeyEvent event)方法,在其中监听KeyEventKey.KEYCODE_ENTER键(右下…
现在很多的Android应用都有了数据搜索功能,在以往的设计上,会使用搜索框+搜索按钮来实现搜索功能: 现在呢,越来越流行的是,去除搜索按钮,直接监听软键盘搜索键,当用户输入完搜索关键字后,直接点击软件盘上的"所搜"键,查询要搜索等信息. 要实现上面的搜索效果,当然,我们要监听软键盘的搜索键. EditText mEditSearch = (EditText)this.findViewById(R.id.mEditSearch); mEditSearch.setOnEditorActi…
/**隐藏软键盘**/ View view = getWindow().peekDecorView(); if (view != null) { InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0); }…
在界面布局中有EditText控件,该控件一旦获取焦点则打开软键盘,如果布局中有底部菜单,那么底部菜单可能会被软键盘顶在其上面,看如下效果: 解决方法:在活动绑定界面之前写上下段代码即可 Window.SetSoftInputMode(SoftInput.AdjustPan); 最后效果:…
/** * * @MethodName:closeInputMethod * @Description:关闭系统软键盘 * @throws */ public void closeInputMethod(){ try { ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMet…
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Keyboard, TextInput, Dimensions } from 'react-native'; var ScreenWidth = (第一大门神) Dimensions.get('window').width; export default class Root extends Component { //…
这两天android app新增了透明栏效果,结果发现键盘弹起后会遮盖屏幕底部的EditText,没有像想象中的调整窗口大小,并滚动ScrollView,将EditText显示在键盘上方.之前也遇到过类似问题,所以解决后就干脆写把所有关于EditText和键盘之间问题和解决思路都记录一下,以便以后查阅. 一.在5.0以前,如果EditText设置了gravity="center|right"其中之一且同时设置了singleLine="true",就会导致屏幕底部的E…
参考: http://toughcoder.net/blog/2015/10/09/android-trick-detect-soft-keyboard-show-slash-hide/ package xiamai.testidea; import android.app.Activity; import android.graphics.Rect; import android.os.Bundle; import android.util.DisplayMetrics; import and…
在AndroidManifest.xml里面 选择那个acitivity, 把他的window soft input mode设置成stateHidden和 adjustUnspecified <activity android:name=".ClientSearchViewActivity" android:label="@string/app_name" android:screenOrientation="portrait" andr…
直接复制代码就可以用 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);if (imm != null) { imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);}…
//隐藏输入键盘 ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(BshToolsActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);…
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); imm.toggleSoftInput( InputMethodManager.HIDE_IMPLICIT_ONLY, );…
mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { //当actionId == XX_SEND 或者 XX_DONE时都触发 //或者event.getKeyCode == ENTER 且 event.getAction == A…
最近项目里遇到的几个小问题,以前只是用吗没有深入看过,现在总结到一起,防止以后这种小问题占用太多时间.还是通过网上别人总结的很多博客学习了,挑选出最易懂明了的. 还有leader很小的问题都不放过,亲自track代码,每个小现象的流程都搞得很清楚,追求完美不马虎,怪不得技术这么好,大方向架构小方向细节,这两方面都很认真,值得我学习. 1. 关于切图中的.9图片: 安卓android APP切图规范和.9png制作教程 这个跟上一篇差不多:关于”点九” 2. canvas绘图的: PorterDu…
如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 在android中有时候可能要实现一个底部弹出菜单,此时可以考虑用PopupWindow来实现.下面就来介绍一下如何使用PopupWindow实现一个弹出窗. 主Activity代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 演示获取软键盘高度并保存,然后根据输入框的原有位置是否被软键盘挡住了,如果被挡住了则将整体页面上移一定的高度,当软键盘隐藏的时候再下移回来的功能. 效果图 代码分析 KeyboardUtil:显示.隐藏软键盘,以及保存软键盘的高度值: KeyboardSharedPreferences:SharedPreferences存储工具类: ViewAnimationUtil:上移.下移的动画效果: 首先,获取软键盘的高度值并保存[当点…
背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭. 预备知识: 在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下: android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 那么这里值的含…