Android SoftInputMode为SOFT_INPUT_ADJUST_RESIZE(adjustResize)时没有resize动画的问题
2015-05-21 16:10
1491 查看
用过android:windowSoftInputMode=”adjustResize”的应该都知道,在该模式下弹出软键盘时,编辑框变位置时会有一个alpha动画。昨天突然发现一个界面里在弹出软键盘时没有了这个alpha动画,resize就显得很生硬。于是就想找下原因,网上也找不到类似的情况,看了好多源码,终于找到原因如下:
getWindow().setBackgroundDrawable(null);
就是这一行导致的,在PhoneWindow里setBackgroundDrawable()函数会调用updateWindowResizeState():
也就是如果window的backgroundDrawable为null或者不透明时,windowResize时就不会有动画效果。
getWindow().setBackgroundDrawable(null);
就是这一行导致的,在PhoneWindow里setBackgroundDrawable()函数会调用updateWindowResizeState():
void updateWindowResizeState() { Drawable bg = getBackground(); hackTurnOffWindowResizeAnim(bg == null || bg.getOpacity() != PixelFormat.OPAQUE); }
也就是如果window的backgroundDrawable为null或者不透明时,windowResize时就不会有动画效果。
相关文章推荐
- android:windowSoftInputMode="adjustResize" >
- Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
- android软键盘把布局顶上去,在AndroidManiFest.xml设置windowSoftInputMode没有效果的问题解决
- 透明状态栏导致windowSoftInputMode:adjustResize失效问题
- 你知道android:windowSoftInputMode="adjustResize" 与adjustPan的区别吗
- 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 可以让界面不被弹出的键盘挤上去。
- windowSoftInputMode属性介绍及设置adjustResize不起作用的解决方案
- android:windowsSoftInputMode=""详解
- android 软键盘在全屏下设置adjustResize无效的问题
- android:windowSoftInputMode属性详解(解决软键盘弹出布局调整问题)
- 解决android 软键盘在全屏下设置adjustResize无效的问题
- Android softkeyboard 和 其他界面关系 softInputMode
- android设置全屏时,windowSoftInputMode设置无效,软键盘遮挡问题
- SOFT_INPUT_ADJUST_RESIZE
- 从一个问题来认识android:windowSoftInputMode属性
- android:windowSoftInputMode性能问题&输入法弹出时闪现前一个界面的东西
- 解决android 软键盘在全屏下设置adjustResize无效的问题
- android:windowSoftInputMode属性详解 避免输入法面板遮挡问题
- ScrollView中包含EditText,设置android:windowSoftInputMode="adjustPan"后无效
- editText android:windowSoftInputMode="adjustPan"模式下第二次点击editText软键盘覆盖输入框的解决方案