您的位置:首页 > 移动开发 > Android开发

Android 有关横竖屏

2011-07-21 15:09 155 查看
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就永远是竖屏显示了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: