您的位置:首页 > 移动开发 > Android开发

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():

void updateWindowResizeState() {
Drawable bg = getBackground();
hackTurnOffWindowResizeAnim(bg == null || bg.getOpacity()
!= PixelFormat.OPAQUE);
}


也就是如果window的backgroundDrawable为null或者不透明时,windowResize时就不会有动画效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐