Android可以支持横屏和竖屏,很多面试题都问Android横竖屏切换时Activity的生命周期。网上对于这个的解释算是相当详尽了。今天遇到的问题是Android应用程序中设置横竖屏的一些问题:
1.如果要想在程序中只使用一种屏幕方式,横屏或者竖屏不跟随系统转换转换自己的屏幕,那么需要在AndroidManifest.xml
中对每一个不转换屏幕的Activity中设置
android:screenOrientation=”landscape”
(landscape是横向)
android:screenOrientation="portrait"
(portrait是竖向)
2.如果要设置程序在运行过程中可以转换屏幕方向,但是你不想让Activity的生命周期整个轮回一次的话,可以在AndroidManifest.xml
的Activity节点下设置如下:
android:configChanges="orientation|keyboardHidden|navigation“
这样在程序中. Activity就不会重复调用Activity的整个生命周期,而是调用onConfigChange方法。
一定要记住,需要在每一个Activity中设置,不能设给application节点。
符程序在没有设置2Activity的生命周期和设置2后的生命周期:
前:
onSaveInstanceState--
onPause--
onStop--
onDestroy--
onCreate--
onStart--
onRestoreInstanceState--
onResume--
onSaveInstanceState--
onPause--
onStop--
onDestroy--
onCreate--
onStart--
onRestoreInstanceState--
onResume--
后:
onConfigurationChanged--