Toolbar包含EditText时,点击键盘弹出时Toolbar被拉伸
来源:互联网 发布:pixhawk源码笔记 编辑:程序博客网 时间:2024/05/29 17:43
在Android开发中我们经常会用到Toolbar,为了App更加美观,也会支持透明状态栏,这时,我们一般会这么做:
在style-v19中添加
<item name="android:windowTranslucentStatus">true</item>
在Toolbar中添加
android:fitsSystemWindows="true"
这时,如果我们的layout中包含可滚动的控件如ListView、ScrollView(即在键盘弹出时会调用onSizeChanged方法),而且屏幕中包含可编辑的控件如EditText,就会出现意想不到的现象,即Toolbar自动拉伸,直到接近键盘顶部
大家会问这是Toolbar的bug吗?据我目前所知应该不是,而是某种处理逻辑,原谅我也不知道是什么逻辑=。=,我在StackOverflow发现也有人遇到这个问题,但也没有给出完美的解决办法,大家可以参考下Android appcompat toolbar stretches when searchview gets focus
目前有两种解决办法:
将Toolbar的android:fitsSystemWindows="true"属性移至root view
这样可能无法支持透明状态栏,但相信聪明的你肯定能找到兼顾的解决办法^_^在AndroidManifest中添加android:windowSoftInputMode="adjustPan"属性
这个方法有一个前提就是你不需要在键盘弹出时让你的布局自适应屏幕(即在键盘弹出时view不会调用onSizeChanged方法),并且可能会导致键盘遮挡屏幕上的内容。
注:
1,为了支持透明状态栏,可以这样调整:
当fitsSystemWindows=true移到根root view时,状态栏文字图标看不见,此时可以在root view添加和ToolBar一样的背景色,再在ToolBar一下区域添加默认的窗口背景色,即可实现
2,添加adjustPan后,进入该界面软件盘会自动弹出,此时可以在root view添加属性:
android:focusable="true"android:focusableInTouchMode="true"即可默认不弹出软件盘。
原文地址:http://www.jianshu.com/p/33da943732b2
- Toolbar包含EditText时,点击键盘弹出时Toolbar被拉伸
- Toolbar包含EditText时,点击键盘弹出时Toolbar被拉伸
- Android使用toolbar设置了fitSystemWindows = “true”的时候当edittext弹出了软键盘时toolbar被拉伸的问题
- Android 沉浸式设计时输入法弹出ToolBar被拉伸
- android中AlertDialog包含EditText时弹出键盘
- Android EditText 点击时不弹出键盘但显示光标
- android中AlertDialog包含EditText时弹出键盘(dia和软键盘同时弹出)
- 从原理上分析解决软键盘的遮挡与隐藏问题, EditText在Toolbar中键盘弹出问题
- toolbar ,textfield,图片拉伸,Bundle
- Android.EditText点击时,隐藏系统弹出的键盘,显示出光标
- Android.EditText点击时,隐藏系统弹出的键盘,显示出光标
- EditText禁止点击之后弹出键盘
- ToolBar
- ToolBar
- TOOLBAR
- ToolBar
- ToolBar
- toolbar
- Android RecyclerView点击事件与长按事件
- 磁盘(常见的raid组合)
- Ubuntu14.04安装OpenCV3.0
- Java堆、栈和常量池以及相关String的详细讲解
- 安装使用cscope
- Toolbar包含EditText时,点击键盘弹出时Toolbar被拉伸
- 在XML里的XSD和DTD以及standalone的使用4----具体使用详解
- 共享URL
- Agera 一个来自谷歌官方的超轻量Android库
- Java开源UML建模
- Linux rpm 命令参数使用详解[介绍和应用]
- iOS中关于UIApplication的详细介绍
- 华为机试---投篮游戏
- Linux下高效编写Shell——shell特殊字符汇总