android及ReactNative分辨率

几种获取分辨率的方式
System.out.println("wk8---FragmentLobby.onCreate3.1---------------");
WindowManager wm2 = (WindowManager) FragmentLobby.this.getActivity()
        .getSystemService(Context.WINDOW_SERVICE);
int width2 = wm2.getDefaultDisplay().getWidth();
int height2 = wm2.getDefaultDisplay().getHeight();
System.out.println("wk8---FragmentLobby.onCreate3.2---------------" + width2 + ", " + height2);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getRealMetrics(dm);
System.out.println("wk8---FragmentLobby.onCreate3.3---------------" + dm.widthPixels + ", " + dm.heightPixels);
DisplayMetrics dm4 = getResources().getDisplayMetrics();
System.out.println("wk8---FragmentLobby.onCreate3.4---------------" + dm4.widthPixels + ", " + dm4.heightPixels);
DisplayMetrics dm5 = CommonUtil.getContext().getResources().getDisplayMetrics();
System.out.println("wk8---FragmentLobby.onCreate3.4---------------" + dm5.widthPixels + ", " + dm5.heightPixels);

备注特殊情况:

不同机型和厂商会对某包名进行分辨率定制,系统接口返回定制后台的分辨率

getDefaultDisplay 是不包含虚拟按键

getRealMetrics 包含虚拟按键的

getContext().getResources() 和activity.getResources() 在某些机型和特定包名会存在差异

你可能感兴趣的:(ReactNative,android,android,java,reactnative)