@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_horizontal);
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); // 获取屏幕的尺寸
int width = displayMetrics.widthPixels; // 屏幕宽
int height = displayMetrics.heightPixels; // 屏幕高
LinearLayout layout = (LinearLayout) findViewById(R.id.layout_horizontal); // 待旋转布局
layout.setLayoutParams(new LinearLayout.LayoutParams(height, width)); // 设置布局的宽和高,必须要和屏幕的反过来
layout.setRotation(90); // 顺时针旋转90度
layout.setY((height - width) / 2);
layout.setX((width - height) / 2); // 将布局位移到屏幕中心
}
原文链接:https://blog.csdn.net/leilba/article/details/51031068