首页 > 网站 > 建站经验 > 正文

Android实现屏幕!旋转方法总结

2019-11-02 14:22:43
字体:
来源:转载
供稿:网友

   Android实现屏幕旋转方法总结

        这篇文章主要介绍了Android实现屏幕旋转方法,实例总结了屏幕旋转的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

  本文实例总结了Android实现屏幕旋转方法。分享给大家供大家参考。具体如下:

  在介绍之前,我们需要先了解默认情况下android屏幕旋转的机制:

  默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致当前activity发生onDestroy-> onCreate,这样会重新构造当前activity和界面布局,如果在Camera界面,则表现为卡顿或者黑屏一段时间。如果是在横竖屏UI设计方面,那么想很好地支持屏幕旋转,则建议在res中建立layout-land和layout-port两个文件夹,把横屏和竖屏的布局文件分别放入对应的layout文件夹中。

  了解了这些以后,我们对android的屏幕旋转方法进行如下总结:

  1. AndroidManifest.xml设置

  如果单单想设置横屏或者竖屏,那么只需要添加横竖屏代码:

  ?

1 2 android:screenOrientation="landscape"横屏设置; android:screenOrientation="portrait"竖屏设置;

  这种方法的优点:即使屏幕旋转,Activity也不会重新onCreate。

  缺点:屏幕只

好看的爆笑图片[www.62-6.com/1/baoxiaotupian]
有一个方向。

  2. 代码动态设置

  如果你需要动态改变横竖屏设置,那么,只需要在代码中调用setRequestedOrientation()函数:

  ?

1 2 3 4 5 6 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //横屏设置 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //竖屏设置 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); //默认设置

  这种方法优点:可以随意动态设置,满足我们人为改变横竖屏的要求,同时满足横竖屏UI不同的设计需求;

  缺点:如果改变设置,那么,Activity会被销毁,重新构建,即重新onCreate;

  3. 重写onConfigurationChanged

  如果你不希望旋转屏幕的时候Activity被不断的onCreate(这种情况往往会造成屏幕切换时的卡顿),那么,可以使用此方法:

  首先,在AndroidMainfest.xml中添加configChanges:

  ?

1 2 3 <activity android:name=".Test" android:configChanges="orientation|keyboard"> </activity>

  注意,keyboardHidden表示键盘辅助功能隐藏,如果你的开发API等级等于或高于13,还需要设置screenSize,因为screenSize会在屏幕旋转时改变;

  ?

1 android:configChanges="keyboardHidden|orientation|screenSize"
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表