天天看点

强制竖屏横屏

 默认情况下,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);
    }
}