安卓获取屏幕的宽度与高度,设置横竖屏

获取屏幕的宽度与高度有以下几种方法:

1、WindowManager wm = (WindowManager) getContext()

                    .getSystemService(Context.WINDOW_SERVICE);

     int width = wm.getDefaultDisplay().getWidth();

     int height = wm.getDefaultDisplay().getHeight();

2、WindowManager wm = this.getWindowManager();

     int width = wm.getDefaultDisplay().getWidth();

     int height = wm.getDefaultDisplay().getHeight();

3、 DisplayMetrics metric = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metric);
        int width = metric.widthPixels;     // 屏幕宽度(像素)
        int height = metric.heightPixels;   // 屏幕高度(像素)
        float density = metric.density;      // 屏幕密度(0.75 / 1.0 / 1.5)
        int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

设置横竖屏的方式:
1.代码添加:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置成全屏模式  
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//强制为横屏  
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏  

2.清单文件中:

<activity android:name=".MainActivity" 
          android:screenOrientation="landscape">
    ...
</activity>

unspecified(默认值,由系统判断状态自动切换)

landscape,横屏
portrait,竖屏

原文地址:https://www.cnblogs.com/fangg/p/5934219.html