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 布局旋转 横屏竖屏的主要内容,如果未能解决你的问题,请参考以下文章