有的时候,可能需要在运行时了解当前手机屏幕的方向。可以使用WindowManager类去实现这个功能。下面的代码将展示如何通过编写代码去检测设备的屏幕方向:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取当前屏幕的显示信息 WindowManager wm = getWindowManager(); Display d = wm.getDefaultDisplay(); if (d.getWidth() > d.getHeight()) { //---landscape mode 横屏--- Log.d("Orientation", "Landscape mode"); } else { //---portrait mode 竖屏--- Log.d("Orientation", "Portrait mode"); } }
getDefaultDisplay()方法,放回一个Display对象,这个对象就代表了当前设备的屏幕。然后,就可以获取它的宽度和高度,通过这些数据就能推断出屏幕的方向了。