首页 理论教育 优化Android游戏开发:实现响应系统设置更改

优化Android游戏开发:实现响应系统设置更改

时间:2023-10-22 理论教育 版权反馈
【摘要】:接下来将通过一个实例来演示通过重写onConfigurationChanged方式响应系统设置方式更改的方法,本实例程序可以获取系统的屏幕方向和触摸屏方式等。在上述代码中首先设置动态地修改手机屏幕的方向,然后重写了Activity的onConfigurationChanged方法,当系统设置发生更改时,该方法将会被自动回调。其中属性值orientation用于指定该Activity可以监听屏幕方向改变的事件。

优化Android游戏开发:实现响应系统设置更改

如果在Android应用程序中需要监听系统设置的更改状况,可以通过重写Activity中的onConfigurationChanged(Configuration newConfig)方法实现,此方法是一个基于回调的事件处理方法。当系统设置信息发生改变时,方法onConfigurationChanged会被自动触发。

在Android应用程序中,为了动态地更改系统设置,可调用Activity的setRequested Orientation(int)方法来修改屏幕方向。

接下来将通过一个实例来演示通过重写onConfigurationChanged方式响应系统设置方式更改的方法,本实例程序可以获取系统的屏幕方向和触摸屏方式等。

978-7-111-54543-9-Part02-448.jpg

本实例的具体实现流程如下。

1)编写布局文件main.xml,在该界面中仅包含一个普通按钮,具体实现代码如下

978-7-111-54543-9-Part02-449.jpg

(2)编写Java程序文件ChangeCfg.java,功能是调用Activity的setRequestedOrientation(int)方法来动态更改屏幕方向。除此之外,还重写了Activity的onConfigurationChanged(Configuration newConfig)方法,该方法可用于监听系统设置的更改。文件ChangeCfg.java的具体实现代码如下。

978-7-111-54543-9-Part02-450.jpg(www.xing528.com)

978-7-111-54543-9-Part02-451.jpg

在上述代码中首先设置动态地修改手机屏幕的方向,然后重写了Activity的onConfigurationChanged(Configuration newConfig)方法,当系统设置发生更改时,该方法将会被自动回调。

另外,为了让该Activity能监听屏幕方向更改的事件,需要在配置该Activity时指定属性android:configChanges。属性android:configChanges支持的属性值有mcc、mnc、locale、touchscreen、keyboard、keyboardHidden、navigation、orientation、screenLayout、uiMode、screenSize、smallestScreenSize、fontScale。其中属性值orientation用于指定该Activity可以监听屏幕方向改变的事件。

(3)在文件AndroidManifest.xml中设置该Activity可以监听屏幕方向改变的事件,这样当程序改变手机屏幕方向时,Activity的onConfigurationChanged()方法就会被回调。文件AndroidManifest.xml的具体实现代码如下。

978-7-111-54543-9-Part02-452.jpg

在模拟器中单击按钮后将变为横向屏幕,执行效果如图8-14所示

978-7-111-54543-9-Part02-453.jpg

图8-14 移动的小球

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈