android设置横屏和竖屏的⽅法
⽅法⼀:在l中配置
假设不想让软件在横竖屏之间切换,最简单的办法就是在项⽬的l中到你所指定的activity中加上
android:screenOrientation属性。他有下⾯⼏个參数:
"unspecified":默认值由系统来推断显⽰⽅向.判定的策略是和设备相关的,所以不同的设备会有不同的显⽰⽅向.
"landscape":横屏显⽰(宽⽐⾼要长)
"portrait":竖屏显⽰(⾼⽐宽要长)
"user":⽤户当前⾸选的⽅向
android layout布局
"behind":和该Activity以下的那个Activity的⽅向⼀致(在Activity堆栈中的)
"sensor":有物理的感应器来决定。假设⽤户旋转设备这屏幕会横竖屏切换。
"nosensor":忽略物理感应器。这样就不会随着⽤户旋转设备⽽更改了("unspecified"设置除外)。
⽅法⼆:在java代码中设置
设置横屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏
设置竖屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
由于横屏有两个⽅向的横法,⽽这个设置横屏的语句,假设不是默认的横屏⽅向,会把已经横屏的屏幕旋转180°。
所以能够先推断是否已经为横屏了。假设不是再旋转,不会让⽤户认为转的莫名其妙啦!代码例如以下:
Resources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
三:
1.直接新建两个布局⽂件,剩下的就什么也不⽤管了:右键单击‘res’⽂件夹 -> 'new' -> 'Android resource directory';将 Directory name 填写layout-land,Resource type 选择layout,这是建⽴了⼀个横屏的布局⽂件,同样的⽅式再建⽴⼀个layout-port资源⽂件夹,⾥⾯放⼀个竖屏的布局⽂件,名字要起⼀样的,这个很重要,然后再java⽂件中设置setvontentview就⾏了。这样屏幕切换的时候他们会被⾃动加载
四:
2.假如布局资源是不⼀样⼜不按照如上设置,则需要通过java代码来判断当前是横屏还是竖屏然后来加载相应的xml布局⽂件(⽐如mainP为竖屏mainL为横屏)。因为当屏幕变为横屏的时候,系统会重新呼叫当前Activity的onCreate⽅法,你可以把以下⽅法放在你的onCreate中来检查当前的⽅向,然后可以让你的setContentView来载⼊不同的layout xml。
⾸先在layout下,建⽴两个布局⽂件,⼀个是横屏的⼀个是竖屏的,然后再java⽂件中布置这两个⽂件就⾏了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。