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就永远是竖屏显示了。