Android4.0上PopupWindow.update()的不解现象

loveisbug 2012-04-09 10:45:46
需要同时出现同时消失的两个PopupWindow,A和B。
A是:
showAtLocation(v, Gravity.TOP, 0, 0);

B是:
showAtLocation(v,Gravity.NO_GRAVITY, 0, 0);

A显示是:
update(0, 0, screenWidth, hight1);

B显示是:
update(0, 10, screenWidth/3 , hight2);

擦除时都是:
update(0, 0, 0, 0);


问题1:为什么A的擦除有快速右移消失的效果?
问题2:为什么在Android4.0上(低版本上无此问题),横屏时呼出两个window,擦除前竖起,然后擦除。B正常擦除,A的起始位置右移半屏宽仍显示一半在屏幕上?
...全文
609 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinhaize 2013-12-28
  • 打赏
  • 举报
回复
请问楼主,你这个怎么解决的?我也出现这种情况了,同样的方法调用,一个好的,一个出现右移动的效果。谢谢
LimStore 2013-07-16
  • 打赏
  • 举报
回复
很明显dxjwolf说的log是官方的更新日志。我是个菜鸟中的菜鸟,学习中。原来PopupWindow.update()擦除用的呀
妖怪 2012-04-20
  • 打赏
  • 举报
回复
谢谢dxjwolf。
- 应该是没有设置消失效果。系统会有“渲染”?
gg一下android界面消失效果 系统会有默认的animation来控制

- 你说的log是指什么log?
在framework尤其是AMS WMS以及surface里面把DEBUG log的宏设置为true
然后重复你的步骤 用adb logcat来抓取界面切换的时候的log filter是all
loveisbug 2012-04-11
  • 打赏
  • 举报
回复
谢谢dxjwolf。
- 应该是没有设置消失效果。系统会有“渲染”?
- 你说的log是指什么log?
妖怪 2012-04-09
  • 打赏
  • 举报
回复
问题1:为什么A的擦除有快速右移消失的效果?
看看View消失的效果 我记得是有效果设置决定的 Android都是这样的

问题2:为什么在Android4.0上(低版本上无此问题),横屏时呼出两个window,擦除前竖起,然后擦除。B正常擦除,A的起始位置右移半屏宽仍显示一半在屏幕上?
这里要看log了 4.0上面对popupwindow没做什么修改

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧