默认情况下,app会随着手机方向的改变进行屏幕切换,手机横向摆放的时候,app屏幕就会切换到横屏,反之切换到竖屏,但是app是一般都是根据竖屏设计的,一旦切换到横屏,布局就会乱掉,所以没有考虑横屏设计的app一般要强制设置为竖屏,强制竖屏有两种方法:
一、在AndroidManifest.xml对每个Activity进行配置:
<activity android:name="com.barilab.katalksketch.SplashActivity" android:screenOrientation="portrait"/>
运行程序发现手机无论怎么转向,app都是竖屏显示,如果设置:android:screenOrientation=”landscape” ,则为强制横屏显示。
还有一种更简单的方法,就是在代码中设置:
二、在Activity的onCreate()中设置:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
强制为竖屏,强制横屏为:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
一般项目中会写一个BaseActivity,在这个Activity的onCreate中加上以上代码,然后其他Activity继承这个BaseActivity,就可以实现全局的竖屏或者横屏的效果:
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}