Android 布局旋转 横屏竖屏

Posted 吹着空调哼着歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 布局旋转 横屏竖屏相关的知识,希望对你有一定的参考价值。

android 屏幕旋转 横屏竖屏

横屏 竖屏

方法一:
*注意在setContentView()之前

if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏
            //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏

方案二:

在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,它有以下几个参数:
“unspecified”:默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
“landscape”:横屏显示(宽比高要长)
“portrait”:竖屏显示(高比宽要长)
“user”:用户当前首选的方向
“behind”:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
“sensor”:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
“nosensor”:忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

布局旋转

		DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);      // 获取屏幕的尺寸
        int width = displayMetrics.widthPixels;                         // 屏幕宽
        int height = displayMetrics.heightPixels;                       // 屏幕高

        LinearLayout layout = (LinearLayout) findViewById(R.id.layout_horizontal);  // 待旋转布局
        FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(height, width);
        layout.setLayoutParams(layoutParams);       // 设置布局的宽和高,必须要和屏幕的反过来
        layout.setRotation(90);             // 顺时针旋转90度
        layout.setY((height - width) / 2);
        layout.setX((width - height) / 2);  // 将布局位移到屏幕中心

以上是关于Android 布局旋转 横屏竖屏的主要内容,如果未能解决你的问题,请参考以下文章

系统强制横屏竖屏

我的android平板电脑是默认横屏的,怎么才能让他变成默认竖屏

Android横屏竖屏设置

Android 4.0 ,如何截屏,当竖屏时。

Android设置横屏竖屏

Android--锁定横屏竖屏去标题全屏