Android 有关横竖屏

1、如何使得横竖屏时显示不同的布局资源?

在res文件夹下,新建一下layout-land文件夹,把横屏时要显示的布局资源文件放这里,当横屏时,Android会自动使用。但需要注意的是,程序在切换时可能会重新执行onCreate,可以通过重写onConfigurationChanged(Configuration newConfig)方法来控制,但重写之前要在AndroidManifest文件中设置Acitivity的属性android:configChanges="orientation",表示当方向改变时,程序自己来处理,而不是默认的重启Activity。

类似的,当要适应不同的分辨率时,也在res文件夹下建名如layout-480x320的文件夹,注意中间是小写的x,较大的数字要放在x前面。

2、在代码中如何判断当前是横屏还是竖屏?

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     // 横屏

else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { 
    // 竖屏
}

3、开发过程中如何切换模拟器的横竖屏?            

      android模拟器启动后,可以使用快捷键Ctrl+F12或Ctrl+F11来切换。好像按右边的Ctrl会不管用,要按左边的。

4、如何禁止横竖屏自动切换?

     方法1,我们可以在配置文件AndroidMenifast.xml中,这样写:

    <activity android:name="YourActivity"
        android:screenOrientation="landscape"></activity> 就可以实现,无论怎样都是横屏,将landscape改成portrait则是竖屏

   方法2, 我们还可以在代码中设置:

  在onCreate方法中写上:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 则Activity就永远是竖屏显示了。

你可能感兴趣的:(android)