Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效

原创 2015年05月04日 21:30:30

一、发现问题

项目中适配了Android最新的MaterialDesign,其中最主要修改的一个就是将actionbar 替换成了toolbar,如果对toolbar没有了解的话可以参考 这篇文章
适配toolbar,请看 这篇文章
由于我们要用toolbar替代actionbar,所以我们首先要做的就是隐藏actionbar,我们在theme中声明
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
....

适配完toolbar后,我们有一个界面是这样的


也就是说底部有一个菜单栏,键盘弹出的时候会把这个菜单栏顶上来,正常来说,我们只需要在 AndroidManifest相应的Activity下面声明:
            android:windowSoftInputMode="adjustResize" 
就可以搞定。

但是,适配toolbar后,尼玛竟然不生效了。。。

二、解决问题

google了下,简单的解决办法说是这样的,加一个属性
android:fitsSystemWindows="true"

虽然可以生效,但是。。toolbar向下平移了statusbar的高度,也就是说statusbar是全白的。。
看来这个不行了,继续google。。

找到了这个
http://stackoverflow.com/questions/7417123/android-how-to-adjust-layout-in-full-screen-mode-when-softkeyboard-is-visible
分数最高的那个解决方案

在三星上可以完美解决,但是在5.0系统和魅族手机上 底部菜单栏和键盘有大约50px的高度,不能完美适配。。。尼玛

继续google
找到了这个http://stackoverflow.com/questions/21092888/windowsoftinputmode-adjustresize-not-working-with-translucent-action-navbar
自定义了一个layout继承你的根layout。
重写fitSystemWindows方法,并且在根layout中声明 fitSystemWindows="true"

虽然麻烦点,但是在三星和魅族以及nexus 5的 4.3-5.0系统都可以完美适配。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android:windowSoftInputMode 无效的原因

android:windowSoftInpu

windowSoftInputMode属性介绍及设置adjustResize不起作用的解决方案

android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事...

Android软键盘弹出时把布局顶上去的解决方法

原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在m...

Android软键盘弹出,界面整体上移

在做搜索功能的时候,点击搜索框,搜索框获取焦点,键盘弹出;现在问题出来了,android软键盘弹出的时候,android整个界面上移,布局被挤压,很难看;要解决这个问题,我们需要用到 windowSo...

简单实现ToolBar阴影效果(完美适配安卓5.0以下)

前言 最近在使用Toolbar过程中发现如果我通过Xml设置ToolBar时,无论是在Android 5.0以前还是5.0以后,Toolbar都会失去阴影效果,我尝试设置android:eleval...

Android中adjustResize失效的解决办法之一

今天帮助哥们解决了一个比较蛋疼的问题,就是在有的情况下会出现设置activity的windowSoftInputMode=”adjustResize”时,会失效的情况。历尽千辛万苦,终于在stackf...

Android关于adjustResize无效,监听软键盘的隐藏显的解决方案

解决 Android 设置adjustResize无效,以及监听软键盘的隐藏显的解决方案

Android 设置adjustResize失效

在我们调用软键盘的时候需要EditText在软键盘之上一起弹出......

android 软键盘挡住输入内容,adjustResize设置了也无效

键盘弹出时,会将布局底部的导航条顶上去。 先给出很多文章中给出的解决办法如下: 在mainfest.xml中,在和导航栏相关的activity中加: ? ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)