最近在做平板上的一个程序,需要配合中通的app来控制扫描与分拣机的转动。然后中通的程序在平板上运行有一个问题,
就是app里设置了强制竖屏,不能跟随系统旋转应用屏幕方向,然后把系统里的屏幕方向写死,虽然方向旋转过来了,不过
又出现了其他问题,点击的坐标异常了,app里的控件点击了没反应或是点这个响应了其他按钮,没有头绪,大家只好作罢
后来苏哥说这样给客户看着很吃力,让我试着给加一个悬浮窗口,抓取中通里的重要数据在右上角显示出来。
于是我写了个悬浮窗,但是这个悬浮窗咋跟着一起倒了方向
device-2018-12-05-111313.png (86.38 KB, 下载次数: 18)
2018-12-6 14:58 上传
我在其他正常方向的应用里打开是横屏的
device-2018-12-05-111437.png (25.24 KB, 下载次数: 23)
2018-12-6 14:58 上传
这悬浮窗咋能随大流呢?没有自己的一点主见,这不行啊,于是我找了下方法看能不能把他强制掰正
然后我在悬浮窗布局参数里设置屏幕方向为横屏
Params.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;复制代码
改完后运行程序,我在中通的程序上打开悬浮窗,结果中通的程序闪退了,我郁闷了,悬浮窗应该在任何应用上都可以运行的啊
怎么会搞死了队友,然后我试着重新启动中通程序,结果奇迹发生了,中通程序竟然被掰正了!!!!而且所有控件都能正常点击。
想了想,刚才中通程序之所以会闪退是因为打开我的悬浮窗然后窗体的屏幕方向属性被强制设成了横向,中通的程序就是被旋转了
旋转的时候页面会重新创建实例,但是中通的程序没有保存页面实例,以至于闪退了。同理在中通程序被横屏时,关闭悬浮窗,也会导致程序旋转回去而闪退
没想到悬浮窗不仅不是随大流的玩意,还是带头大哥,毕竟是屏幕最上方的视图,其他窗口都得跟着走,
这样一来,就不需要抓取数据,只要先打开悬浮窗再打开中通程序就可以横屏显示,所以悬浮窗的内容就改成一个图标显示在边角就好了
device-2018-12-06-153050.png (84.89 KB, 下载次数: 16)
2018-12-6 15:31 上传