输入法 浏览器 黑屏 没有解决不了的问题,只是你的方法不对
来源:互联网 发布:经济数据日历 编辑:程序博客网 时间:2024/04/30 11:21
1. 一个Activity构造的时候一定会构造一个Window(准确的说是一个PhoneWindow,PhoneWindow 继承自View)此Window有且只有一个。
2. 这个Window有一个ViewRoot,它是一个逻辑性的根视图,实际上就是一个View类或者是一个ViewGruop类 。
对于PhoneWindow 来说,它的 viewRoot 是 Decorview。
3.那么,在这个ViewRoot的根视图上面就会添加一个一个的View,也就是执行addView()方法,来达到我们最终显示的效果。
对于PhoneWindow 来说, addView() 被添加在 Decorview里。
4.WindowManagerService接收消息,并且回调Activity函数,比如典型的onKeyDown()
View --------getViewRoot() 得到 根view Decorview
继承
ViewGroup
继承
window FrameLayout
继承 继承
activity PhoneWindow Decorview
android:windowSoftInputMode="adjustResize" The activity's main window is always resized to make room for the soft keyboard on screen. 当软键盘弹出时,window 会重新计算区域,为软键盘留出空间。 也就是说,Decorview 会将含有的原有布局 高度变小,留出底部一部分空间, 留出的空间底色应当为 Decorview 的底色。
浏览器界面隐藏搜狗输入法时,出现黑屏现象 ---说明这时 window 的底色应为 黑色,可是在 style.xml 文件中 设置的window 背景色为 白色,
黑白转换 只在 一个新的tab页面被创建并展示出来时出现,说明在这个过程中 有地方改变了window 背景色。
要改变window背景色 所有方法最终要走到 view.java中
setBackgroundColor(color),setBackgroundResource(id), setBackgroundDrawable(drawable);
而 setBackgroundColor(color),setBackgroundResource(id) 最终也是走的setBackgroundDrawable(drawable)。
所以setBackgroundDrawable(drawable)在变色过程中一定会调用, 然后抓个异常查看调用流程,找到问题点即可。
2. 这个Window有一个ViewRoot,它是一个逻辑性的根视图,实际上就是一个View类或者是一个ViewGruop类 。
对于PhoneWindow 来说,它的 viewRoot 是 Decorview。
3.那么,在这个ViewRoot的根视图上面就会添加一个一个的View,也就是执行addView()方法,来达到我们最终显示的效果。
对于PhoneWindow 来说, addView() 被添加在 Decorview里。
4.WindowManagerService接收消息,并且回调Activity函数,比如典型的onKeyDown()
View --------getViewRoot() 得到 根view Decorview
继承
ViewGroup
继承
window FrameLayout
继承 继承
activity PhoneWindow Decorview
android:windowSoftInputMode="adjustResize" The activity's main window is always resized to make room for the soft keyboard on screen. 当软键盘弹出时,window 会重新计算区域,为软键盘留出空间。 也就是说,Decorview 会将含有的原有布局 高度变小,留出底部一部分空间, 留出的空间底色应当为 Decorview 的底色。
浏览器界面隐藏搜狗输入法时,出现黑屏现象 ---说明这时 window 的底色应为 黑色,可是在 style.xml 文件中 设置的window 背景色为 白色,
黑白转换 只在 一个新的tab页面被创建并展示出来时出现,说明在这个过程中 有地方改变了window 背景色。
要改变window背景色 所有方法最终要走到 view.java中
setBackgroundColor(color),setBackgroundResource(id), setBackgroundDrawable(drawable);
而 setBackgroundColor(color),setBackgroundResource(id) 最终也是走的setBackgroundDrawable(drawable)。
所以setBackgroundDrawable(drawable)在变色过程中一定会调用, 然后抓个异常查看调用流程,找到问题点即可。
只注意到了 setBackgroundColor(color),setBackgroundResource(id) ,没有深入挖掘出setBackgroundDrawable(drawable);
如何解决问题
1 分析现象,确定问题范围, 列出可能原因,逐条排除。
2 不太清楚的话,查询 关键字, 知道 大致范围, 直接去
3 所有程序都是通过一个个管子链接在一起, 深入挖掘,看看能不能找到 必经的管道, 最终点,深入挖掘一下。
- 输入法 浏览器 黑屏 没有解决不了的问题,只是你的方法不对
- 解决黑屏的问题
- 解决黑屏的问题
- CEF3(2171) 输入法位置不对的问题
- Ubuntu16.04出现黑屏问题,没有账户的图标,进入不了图形
- 解决不了的问题
- Chrome浏览器的黑屏如何解决
- Chrome浏览器的黑屏如何解决
- 需求:没有技术做不了的,只是时间问题,我们是服务部门,客户说怎么样那就怎么样了.
- 语法万岁,long live grammar,只要懂语法,没有实现不了的功能,没有解决不了的问题
- 没有面试机会?是你方法不对!
- 解决Ubuntu16.04时间不对的问题
- 解决Android的Activity启动后页面没有绘制黑屏问题
- 解决火狐浏览器上传文件得到的只是一个文件名的问题
- 解决Webview滑动黑屏外加显示黑屏的问题
- 只是没有合适的
- 实在解决不了的问题
- 解决CentOS的中文乱码问题---------------没有用,只是相当于汉化系统,文档乱码的问题还是没有解决
- vmalloc设计的思考
- Android S5PV210 fimc驱动分析 - fimc_capture.c
- Android Activity管理之Activity栈
- Extjs4 treePanel + checkbox 级联选中
- Flash共享资源加载
- 输入法 浏览器 黑屏 没有解决不了的问题,只是你的方法不对
- android textview和edittext中插入表情
- SQL创建索引
- WINCE6.0 DM.EXE 激活驱动失败的原因之一
- book
- (4)JavaScript学习笔记 - 数据类型和值(续)
- VTK+OSG实验小结(图)
- 表示不同文件类型的魔术数字
- MySql字符串处理