Android 上的 Flex:弹出软键盘时应用程序屏幕变黑
Posted
技术标签:
【中文标题】Android 上的 Flex:弹出软键盘时应用程序屏幕变黑【英文标题】:Flex on Android: App screen goes black when the soft keyboard pops up 【发布时间】:2015-04-01 13:19:42 【问题描述】:我的 android 平板电脑(Samsung Note 10.1)的 Flex 应用程序中有一个奇怪的随机问题。
有时(这真的是随机的)当我单击 TextInput 并弹出软键盘时,整个屏幕变黑。一旦发生,每次单击 TextInput 时它都会变黑。如果我重新启动应用程序,一切都会再次正常。
我的设置:Flex SDK 4.13.0 + AIR 14.0 TextInput 没有使用任何皮肤,只是默认的 RenderingMode:CPU(不能使用 GPU)
【问题讨论】:
你用过吗? spark.skins.mobile.TextInputSkin 或使用。 ClassReference("spark.skins.mobile.StageTextInputSkin"); 是应用程序的整个屏幕还是只是软键盘区域?检查您的应用中是否存在任何导致问题的软键盘侦听器,或尝试使用不同的 sdk(可能较旧)并使用不同的 flash playerVersion 构建。 整个屏幕变黑。不,没有听众或任何东西。一直运行良好,直到我们切换到新的 SDK。谢谢各位大神指点,我试试看。 【参考方案1】:好的,我仍然不能 100% 确定该问题是否已解决,但在我尝试了两件事后很长时间没有出现:
我的应用程序正在使用相机,我在某处读到相机给某些人带来了类似的问题。事实上,事实证明相机在我的代码中没有正确分离。这对我没有帮助,但也许它会帮助其他人
我在一些第三方组件代码中发现了这个 hack(不记得在哪里),显然它确实有帮助。基本上,它来回切换应用程序质量,迫使 Flex 重绘。因此,在您的主 MXML 中,将此代码放在“addToStage”事件之后:
private function onAddedToStage():void
//Workaround for blank screen after screen unlock.
stage.addEventListener(Event.ACTIVATE, function(e:Event):void
stage.quality = StageQuality.MEDIUM;
);
stage.addEventListener(Event.DEACTIVATE, function(e:Event):void
stage.quality = StageQuality.LOW;
);
【讨论】:
以上是关于Android 上的 Flex:弹出软键盘时应用程序屏幕变黑的主要内容,如果未能解决你的问题,请参考以下文章
Android EditText如何设置默认是不弹出软键盘需要点击是才跳出来