|
24 | 24 | import android.graphics.Canvas;
|
25 | 25 | import android.graphics.Path;
|
26 | 26 | import android.graphics.PixelFormat;
|
| 27 | +import android.graphics.Point; |
27 | 28 | import android.graphics.RectF;
|
28 | 29 | import android.graphics.drawable.Drawable;
|
29 | 30 | import android.graphics.drawable.LayerDrawable;
|
|
36 | 37 | import android.view.View;
|
37 | 38 | import android.view.ViewGroup;
|
38 | 39 | import android.view.ViewGroup.LayoutParams;
|
| 40 | +import android.view.WindowManager; |
| 41 | + |
39 | 42 | import com.taobao.weex.WXEnvironment;
|
40 | 43 | import com.taobao.weex.WXSDKInstance;
|
41 | 44 | import com.taobao.weex.WXSDKManager;
|
@@ -206,8 +209,17 @@ public static int getScreenHeight() {
|
206 | 209 |
|
207 | 210 | public static int getScreenHeight(Context cxt) {
|
208 | 211 | if(cxt!=null){
|
| 212 | + WindowManager wm; |
209 | 213 | Resources res = cxt.getResources();
|
210 |
| - mScreenHeight =cxt.getResources().getDisplayMetrics().heightPixels; |
| 214 | + if(Build.VERSION.SDK_INT >= 28 && (wm = (WindowManager)cxt.getSystemService(Context.WINDOW_SERVICE)) != null |
| 215 | + && wm.getDefaultDisplay() != null){ |
| 216 | + Point size = new Point(); |
| 217 | + wm.getDefaultDisplay().getRealSize(size); |
| 218 | + mScreenHeight = size.y; |
| 219 | + } |
| 220 | + else { |
| 221 | + mScreenHeight = cxt.getResources().getDisplayMetrics().heightPixels; |
| 222 | + } |
211 | 223 | if(WXEnvironment.SETTING_FORCE_VERTICAL_SCREEN){
|
212 | 224 | mScreenWidth = res
|
213 | 225 | .getDisplayMetrics()
|
|
0 commit comments