android改变屏幕显示方向

屏幕的显示方向有横排和竖排两种:

下面的代码可以为我们自动的控制长宽。

/*** * 根据实际的屏幕长宽,自动的进行竖排或者横排 */ public void autoChange() { DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int height = metrics.heightPixels; int width = metrics.widthPixels; // getRequestedOrientation方法可以获取当前activity的排列模式 int requestOritation = getRequestedOrientation(); if (requestOritation == -1) { Toast.makeText(this, "当前activity中没有设置screenOrientation属性,根本不能执行翻转操作", Toast.LENGTH_LONG).show(); } else{ /** * ActivityInfo.SCREEN_ORIENTATION_PORTRAIT代表竖排 * (另一种形式为在Manifest.xml中为activity配置screenOrientation="portrait") * ActivityInfo则是一个和我们在Manifest.xml中为activity配置的信息相关的类 */ if(requestOritation==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT&&width>height){ // setRequestedOrientation 可以重新设置 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } // 下边的代码省略了 } }

----------------------------------------------------------------------------------

横排:ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

竖排: ActivityInfo.SCREEN_ORIENTATION_PORTRAIT

      获取当前的排列模式:可以通过在activity中调用getRequestedOrientation()方法获取,如果我们再AndroidManifest.xml中没有为该activity设置screenOrientation属性来初始化排列模式,那么在编程模式下,无论我们怎么排列,都是不起作用的。

        改变当前的排列模式:setRequestedOrientation()方法。

 

你可能感兴趣的:(android改变屏幕显示方向)