android在全屏下第一次触摸屏幕没有触发事件
2024-10-19 07:35:12
A、设置全屏的方法很多就不多说了,常见如下两种(记录用以备忘):
1、在Androidmanifest.xml文件中设定,如:
<activity android:name="com.yeertc.android.RoomActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="landscape">
</activity>
2、在响应activity中oncreate里面做添加如下代码
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//一定要放在setContentView()之前
B、这样设置的全屏会导致如下问题:
当你在相应activity的组件中设置一些监听事件时,第一次触摸屏幕不会触发组件中的事件,这是个严重的bug。
产生bug的原因如下:
第一次触摸屏幕的时候,无论有没有设置为全屏,系统都会将事件用于显示状态栏(在设置全屏的时候也有显示状态栏的动作只是没显示出来而已),而不会去触发我们的监听。
这应该是系统的bug。
补救办法:
在相应的组件(View)中设置如下方法从
setSystemUiVisibility入手
网址如下(得翻墙):
http://www.techrepublic.com/article/give-android-users-an-immersive-experience-by-using-kitkats-full-screen-decor-flags/
NOTE:这个方法不是针对多有的机型,有的自定义系统会有问题,比如华为
最新文章
- 强大的observejs
- 1017. Queueing at Bank (25)
- Codeforces Gym 100523E E - Gophers SET
- Git 的简单使用
- Unity给力插件之MegaFiers
- GemFire
- JSP ---- 声明、表达式、脚本、注释
- deflate树与deflate编码
- JVM-触发Full GC的情况
- 微信小程序基础之常用控件text、icon、progress、button、navigator
- 金蝶k/3 现金流量表编制口诀
- IDEA将项目上传至码云/GitHub托管
- 如何在Skyline中加载ArcGISServer发布的WMS和WMTS服务
- 2.15 富文本(richtext)
- 用juniversalchardet解决爬虫乱码问题
- 2018.09.24 codeforces 1051F. The Shortest Statement(dijkstra+lca)
- unity抗锯齿(Antialiasing)
- Ionic入门二:网格(Grid)页面布局
- POJ 3093 Margaritas(Kind of wine) on the River Walk (背包方案统计)
- SDRAM容量的计算方法