新的一周,新的开始迎接新的挑战。今天简单介绍一下Android输入框被软键盘遮住的两种常用方法。

法一:清单文件对要进行设置的Activity属性配置android:windowSoftInputMode="adjustPan|adjustResize"

但经过测试会发现有时候标题栏也会被挤上去,怎么解决这样的问题呢 ?如果用法一的话这样的问题貌似解决不了

法二:

还有一种方法可以解决这样的问题 这种也是我在网上找的做下记录下次再用的话也不用去网上找了 ,首先把标题栏抽取到基类里面进行初始化等一些列的操作 ,然后对当前的Activity在OnCreate方法setContentView下配置AndroidBug5497Workaround.assistActivity(this);即可

AndroidBug5497Workaround可以放在工具类中,它的代码如下

public class AndroidBug5497Workaround {

public static void assistActivity (Activity activity) {

new AndroidBug5497Workaround(activity);

}

private ViewmChildOfContent;

private int usableHeightPrevious;

private FrameLayout.LayoutParamsframeLayoutParams;

private AndroidBug5497Workaround(Activity activity) {

FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);

mChildOfContent = content.getChildAt(0);

mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

public void onGlobalLayout() {

possiblyResizeChildOfContent();

}

});

frameLayoutParams = (FrameLayout.LayoutParams)mChildOfContent.getLayoutParams();

}

private void possiblyResizeChildOfContent() {

int usableHeightNow = computeUsableHeight();

if (usableHeightNow !=usableHeightPrevious) {

int usableHeightSansKeyboard =mChildOfContent.getRootView().getHeight();

int heightDifference = usableHeightSansKeyboard - usableHeightNow;

if (heightDifference > (usableHeightSansKeyboard/4)) {

// keyboard probably just became visible

frameLayoutParams.height = usableHeightSansKeyboard - heightDifference;

}else {

// keyboard probably just became hidden

frameLayoutParams.height = usableHeightSansKeyboard;

}

mChildOfContent.requestLayout();

usableHeightPrevious = usableHeightNow;

}

}

private int computeUsableHeight() {

Rect r =new Rect();

mChildOfContent.getWindowVisibleDisplayFrame(r);

return (r.bottom - r.top);// 全屏模式下:return r.bottom

}

}

这种方法就可以解决标题栏不会被挤上去的情况了

android 键盘遮盖输入框_Android软键盘遮住输入框的解决方法终极适配相关推荐

  1. android 键盘遮盖输入框_Android软键盘挡住输入框的终极解决方案

    前言 开发做得久了,总免不了会遇到各种坑. 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 最基本的情况,如图所示:在页面底部有一 ...

  2. android 页面默认不弹软键盘_Android 软键盘的全面解析,让你不再怕控件被遮盖!...

    作者 | Vander丶 编辑 | 苏宓 微信公众号 | mobilehub 背景 Android软键盘这块从我入职到现在,是一个一直纠缠我的问题. 从布局挤压,到EditText显示不全,在到弹出时 ...

  3. android 键盘遮盖输入框_Android各种键盘挡住输入框解决办法

    原标题:Android各种键盘挡住输入框解决办法 今日科技快讯 C919大型客机首飞成功,让很多人激动不已.然而近日网上也出现了一些不同的声音:说这架飞机许多部件都是进口货,甚至有人说C919中国人只 ...

  4. edittext 软键盘上方_Android 软键盘的全面解析,让你不再怕控件被遮盖

    原标题:Android 软键盘的全面解析,让你不再怕控件被遮盖 作者 | Vander丶 编辑 | 苏宓 微信公众号 | mobilehub 背景 Android软键盘这块从我入职到现在,是一个一直纠 ...

  5. flutter TextField 输入框被软键盘挡住的解决方案

    flutter TextField 输入框被软键盘挡住的解决方案 参考文章: (1)flutter TextField 输入框被软键盘挡住的解决方案 (2)https://www.cnblogs.co ...

  6. Android禁用软键盘和取消禁用软键盘

    最近参加了一个项目,主要需要适应带有物理键盘的小屏幕机型,因为屏幕小的原因,所以不能用软件盘,而需要使用物理键盘来进行输入操作. 找了很久,终于发现了相对适当的方法: 在BaseActivity里禁用 ...

  7. android开发隐藏软键盘,Android开发之完全隐藏软键盘的方法

    隐藏软键盘一直是我头痛的事情,没有找到一种真正能隐藏的方法.点击EditText的时候总是弹出软键盘.-----杯具 杯具(一): InputMethodManager im =(InputMetho ...

  8. android 软键盘工具类,Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...

  9. 解决安卓H5输入框获取焦点软键盘页弹起,页面高度被压缩问题

    在移动项目开发中经常会遇到输入框获取焦点软键盘页弹起,页面高度被压缩,输入框获取焦点时弹不上去的问题,我本次的是vue的UI框架(vux) 解决办法如下代码: 只要在页面初始化完成的时候,获取屏幕的可 ...

最新文章

  1. windows php swoole 安装
  2. 操作系统与虚拟化安全第一次作业-关键习题
  3. “全人类的知识宝藏”维基百科迎来了20岁的生日!
  4. Jenkins的一些代码
  5. H5实现微信摇一摇功能
  6. 明科在线客服系统PHP_在线客服系统的标准功能有哪些
  7. 创业赚钱 卖货 做项目如何最大化保证成功?
  8. linux 网络内核 ko文件,编译内核模块 .ko文件缺少:mmzone.h bounds.h
  9. python21天打卡Day12--for循环,列表推导式-构建列表
  10. I00003 贝尔三角形
  11. 我的世界服务器换披风的网站,我的世界评测_我的世界正版披风怎么换|或_游戏手机游戏-中关村在线...
  12. 北大中文核心期刊目录(2004年版)
  13. 通过两点求圆心的公式
  14. 全链路压测之全链自动化
  15. asp.net体育用品销售系统
  16. utc时间 单位换算_将UTC日期转换为毫秒
  17. Android Framework 音频子系统(11)耳麦插拔之声音通道切换
  18. Mybatis注解开发笔记
  19. Airpods Pro连接Macbook Pro偶尔会没有声音
  20. python3.5安装tensorflow_win10下python3.5.2和tensorflow安装环境搭建教程

热门文章

  1. 分析 js构造函数:对象方法 、类方法 、原型方法
  2. python json.dumps()函数输出json格式,使用ensure_ascii参数对中文输入的支持
  3. UVA-10817- Headmaster's Headache(状压DP)
  4. 2018.09.17 atcoder Digit Sum(数论)
  5. python 将数据写入excel
  6. 【Netty】EventLoop和线程模型
  7. 数据结构之排序算法Java实现(2)——选择类排序之堆排序算法
  8. ASP.net+MVC--2
  9. TOMCAT启动汉字乱码解决方案
  10. 【白皮书分享】2021智慧零售私域白皮书-腾讯.pdf(附下载链接)