当前位置: 首页 > news >正文

Android中软键盘弹出时底部菜单上移问题

当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入。
解决办法:
方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

 

我的布局是RelativeLayout,底部菜单用了android:layout_alignParentBottom="true";只有用方法一有效;

int mode=WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN;
getWindow().setSoftInputMode(mode);<span id="transmark" style="display: none; width: 0px; height: 0px;"></span>


 


方法二:在项目的AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="stateVisible|adjustResize",这样会让屏幕整体上移。如果加上的是
                android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
方法三:把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

注:方法一和二应该是同一种方法,不过一个是在代码里实现一个是在xml文件里实现。可能会应为1.5和之前的版本不支持该方法。但是方法三是肯定没有问题的。


文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题。
 
总结:
不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan"
希望动态调整高度android:windowSoftInputMode="adjustResize"光标

转载于:https://www.cnblogs.com/muyuge/p/6152149.html

相关文章:

  • to_date to_char
  • master-slave(主/从)模式
  • moogodb3.x总结
  • Maven中setting.xml 配置详解
  • 经历:easyui的layout自适应高度布局
  • Tern Sercer Tineout
  • 前端自动化之路之gulp,node.js
  • ajax技术的基本概述
  • python中单引号,双引号,多引号区别
  • Spring事务配置
  • 2016 ICPC大连站---F题 Detachment
  • POJ 3276 Face The Right Way 开关问题
  • hadoop3.0 alpha1 安装配置
  • 数据库-编程技巧
  • HttpClientUtil
  • 2019.2.20 c++ 知识梳理
  • Akka系列(七):Actor持久化之Akka persistence
  • JavaScript 奇技淫巧
  • MaxCompute访问TableStore(OTS) 数据
  • PaddlePaddle-GitHub的正确打开姿势
  • Python socket服务器端、客户端传送信息
  • Python语法速览与机器学习开发环境搭建
  • React+TypeScript入门
  • Redux系列x:源码分析
  • Unix命令
  • vue-router 实现分析
  • Windows Containers 大冒险: 容器网络
  • 从tcpdump抓包看TCP/IP协议
  • 好的网址,关于.net 4.0 ,vs 2010
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 深入浏览器事件循环的本质
  • 我的业余项目总结
  • 译米田引理
  • zabbix3.2监控linux磁盘IO
  • 如何在招聘中考核.NET架构师
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​业务双活的数据切换思路设计(下)
  • #mysql 8.0 踩坑日记
  • #Ubuntu(修改root信息)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)Knockout 创建自定义绑定
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)appium-desktop定位元素原理
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • ... 是什么 ?... 有什么用处?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .gitignore文件---让git自动忽略指定文件
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net Core与存储过程(一)
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器