如何在Android3.0系统上禁止Zoom to fill screen

专用于平板电脑的Android 3.0 Honeycomb系统相信大家都看过,在Status bar上很多程序都会出现Stretch to fill screen 和 Zoom to fill screen两种模式。

Stretch to fill screen 意思是拉伸程序界面来填充满屏幕,而Zoom to fill screen意思是缩放程序界面填满屏幕。缩放界面会导致程序像素失真,而拉伸界面则能保持界面的清晰,显然Stretch to fill screen的效果要好多了。

有些程序如果跟远程服务绑定的话(即Remote Service),在这里两种模式之间切换会导致远程服务终止,出现android.os.DeadObjectException,我一直都很想知道怎么能在这两种模式之间顺利地切换而不导致异常,研究了很久也没有结果。

现在只能通过禁用模式切换来达到程序稳定的效果。其实禁用很简单,通过以下配置,你的程序将只会支持Stretch to fill screen,这时候你在Status bar上不会看到能切换模式的按钮了。

<supports-screens android:xlargeScreens="true" />


国外也有很多说法,把miniSdkVersion或者targetSdkVersion调到11 就可以屏蔽掉Zoom to fill screen,但是我们的程序肯定是支持的系统版本越多越好,不可能把主流的2.2,2.3给抛弃的,因此这种做法我没有采纳。


你可能感兴趣的:(android,service)