android如何在代码中判断横竖屏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android如何在代码中判断横竖屏相关的知识,希望对你有一定的参考价值。
参考技术A android中判断横竖屏是通过Configuration这个类来判断的。
1.
Configuration.ORIENTATION_
LANDSCAPE
表示横屏。
2.
Configuration.ORIENTATION_PORTRAIT表示竖屏。
以下是完整代码:
public
boolean
isScreenChange()
Configuration
mConfiguration
=
context.getResources().getConfiguration();
//获取设置的配置信息
int
ori
=
mConfiguration.
orientation
;
//获取屏幕方向
if(ori
==
Configuration.ORIENTATION_LANDSCAPE)
//横屏
return
true;
else
if(ori
==
Configuration.ORIENTATION_PORTRAIT)
//竖屏
return
false;
return
false;
避免在转屏时重启Activity
android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次
Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启Activity,可以通过在AndroidManifest.
xml文件
中重新定义方向(给每个Activity加上 android:configChanges=”keyboardHidden|orientation”属性)。
在需要控制屏幕显示方向的Activity中重写 onConfigurationChanged(Configuration
newConfig)方法,这样在转屏时就不会重启Activity了。
orientation属性判断横竖屏
现在有一个需求:移动端网页默认竖屏显示,当用户横屏浏览,就给予相应提示,比如横屏时显示下面截图提示信息
几年前,可能大家想到用 window.orientation 属性来实现,现官方已弃用,不做推荐,并且有了更好的实现方式—— orientation
orientation: portrait(竖屏,即设备中的页面可见区域高度>=宽度)
orientation: landscape(横屏,即设备中的页面可见区域高度<=宽度)
下面是一个很简单的 demo,有兴趣的小伙伴可以感受一下
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>识别横竖屏</title> <style> @media (orientation: landscape) { body { background-color: #ccc; } } @media (orientation: portrait) { body { background-color: #000; } } </style> </head> <body> </body> </html>
以上是关于android如何在代码中判断横竖屏的主要内容,如果未能解决你的问题,请参考以下文章