当前位置: 首页>>代码示例>>Java>>正文


Java Display.getRealMetrics方法代码示例

本文整理汇总了Java中android.view.Display.getRealMetrics方法的典型用法代码示例。如果您正苦于以下问题:Java Display.getRealMetrics方法的具体用法?Java Display.getRealMetrics怎么用?Java Display.getRealMetrics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.view.Display的用法示例。


在下文中一共展示了Display.getRealMetrics方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: updateLayoutParams

import android.view.Display; //导入方法依赖的package包/类
@SuppressWarnings("SuspiciousNameCombination")
private void updateLayoutParams() {
    ViewGroup.LayoutParams params = videoView.getLayoutParams();
    Context context = videoView.getContext();
    WindowManager windowManager = (WindowManager) context.getSystemService(
            Context.WINDOW_SERVICE);
    if (windowManager == null) {
        return;
    }
    Display display = windowManager.getDefaultDisplay();
    DisplayMetrics realMetrics = new DisplayMetrics();
    display.getRealMetrics(realMetrics);
    params.width = realMetrics.widthPixels;
    params.height = realMetrics.heightPixels;
    videoView.setLayoutParams(params);
}
 
开发者ID:dev-labs-bg,项目名称:fullscreen-video-view,代码行数:17,代码来源:OrientationDelegate.java

示例2: getTrueScreenWidth

import android.view.Display; //导入方法依赖的package包/类
public static int getTrueScreenWidth(Context context) {
    int dpi = 0;
    Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= 17) {
        display.getRealMetrics(dm);
        dpi = dm.widthPixels;
    } else {
        try {
            Class c = Class.forName("android.view.Display");
            Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
            method.invoke(display, dm);
            dpi = dm.widthPixels;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    return dpi;
}
 
开发者ID:thelinuxgeekcommunity,项目名称:nightmode,代码行数:21,代码来源:Utility.java

示例3: hasSoftKeys

import android.view.Display; //导入方法依赖的package包/类
/**
 * 判断底部navigator是否已经显示
 *
 * @param windowManager
 * @return
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static boolean hasSoftKeys(WindowManager windowManager) {
    try {
        Display d = windowManager.getDefaultDisplay();
        DisplayMetrics realDisplayMetrics = new DisplayMetrics();
        d.getRealMetrics(realDisplayMetrics);
        int realHeight = realDisplayMetrics.heightPixels;
        int realWidth = realDisplayMetrics.widthPixels;
        DisplayMetrics displayMetrics = new DisplayMetrics();
        d.getMetrics(displayMetrics);
        int displayHeight = displayMetrics.heightPixels;
        int displayWidth = displayMetrics.widthPixels;
        return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;
    } catch (Exception e) {
        LoggerManager.e("hasSoftKeys:" + e.getMessage());
        return false;
    }

}
 
开发者ID:AriesHoo,项目名称:FastLib,代码行数:26,代码来源:NavigationBarUtil.java

示例4: getScreenRealH

import android.view.Display; //导入方法依赖的package包/类
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static int getScreenRealH(Context context) {
    int h;
    WindowManager winMgr = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = winMgr.getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= 17) {
        display.getRealMetrics(dm);
        h = dm.heightPixels;
    } else {
        try {
            Method method = Class.forName("android.view.Display").getMethod("getRealMetrics", DisplayMetrics.class);
            method.invoke(display, dm);
            h = dm.heightPixels;
        } catch (Exception e) {
            display.getMetrics(dm);
            h = dm.heightPixels;
        }
    }
    return h;
}
 
开发者ID:jeasinlee,项目名称:AndroidBasicLibs,代码行数:22,代码来源:DensityUtil.java

示例5: getScreenRealHeight

import android.view.Display; //导入方法依赖的package包/类
/**
 * 获取屏幕真正的高度
 * @return
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static int getScreenRealHeight() {
    int h;
    WindowManager winMgr = (WindowManager) XFrame.getSystemService(Context.WINDOW_SERVICE);
    Display display = winMgr.getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= 17) {
        display.getRealMetrics(dm);
        h = dm.heightPixels;
    } else {
        try {
            Method method = Class.forName("android.view.Display").getMethod("getRealMetrics", DisplayMetrics.class);
            method.invoke(display, dm);
            h = dm.heightPixels;
        } catch (Exception e) {
            display.getMetrics(dm);
            h = dm.heightPixels;
        }
    }
    return h;
}
 
开发者ID:youth5201314,项目名称:XFrame,代码行数:26,代码来源:XDensityUtils.java

示例6: getNaviHeight

import android.view.Display; //导入方法依赖的package包/类
private static int getNaviHeight(Activity activity) {
    if (activity == null) {
        return 0;
    }
    Display display = activity.getWindowManager().getDefaultDisplay();
    int contentHeight = activity.getResources().getDisplayMetrics().heightPixels;
    int realHeight = 0;
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        final DisplayMetrics metrics = new DisplayMetrics();
        display.getRealMetrics(metrics);
        realHeight = metrics.heightPixels;
    } else {
        try {
            Method mGetRawH = Display.class.getMethod("getRawHeight");
            realHeight = (Integer) mGetRawH.invoke(display);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return realHeight - contentHeight;
}
 
开发者ID:kyleduo,项目名称:BlurPopupWindow,代码行数:22,代码来源:BlurPopupWindow.java

示例7: navigationBarExist2

import android.view.Display; //导入方法依赖的package包/类
/**
 * 此方法在模拟器还是在真机都是完全正确
 * @param activity
 * @return
 */
public static boolean navigationBarExist2(Activity activity) {
    WindowManager windowManager = activity.getWindowManager();
    Display d = windowManager.getDefaultDisplay();

    DisplayMetrics realDisplayMetrics = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        d.getRealMetrics(realDisplayMetrics);
    }

    int realHeight = realDisplayMetrics.heightPixels;
    int realWidth = realDisplayMetrics.widthPixels;

    DisplayMetrics displayMetrics = new DisplayMetrics();
    d.getMetrics(displayMetrics);

    int displayHeight = displayMetrics.heightPixels;
    int displayWidth = displayMetrics.widthPixels;

    return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;
}
 
开发者ID:A-Miracle,项目名称:QiangHongBao,代码行数:26,代码来源:ViewUtils.java

示例8: getRealScreenWidth

import android.view.Display; //导入方法依赖的package包/类
/**
 * 获取屏幕宽度,不包括右侧导航栏
 *
 * @param activity
 * @return
 */
public static int getRealScreenWidth(Activity activity) {
    WindowManager windowManager = activity.getWindowManager();
    Display display = windowManager.getDefaultDisplay();
    DisplayMetrics displayMetrics = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        display.getRealMetrics(displayMetrics);
    } else {
        display.getMetrics(displayMetrics);
    }
    return displayMetrics.widthPixels;
}
 
开发者ID:zhudongya123,项目名称:WechatChatroomHelper,代码行数:18,代码来源:UIUtil.java

示例9: screenShotPrepare

import android.view.Display; //导入方法依赖的package包/类
/**
     * 初始化截屏相关设置
     * MediaProjectionManager -> MediaProjection -> VirtualDisplay
     * */
    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    protected void screenShotPrepare() {
        initLooper();
//        mediaProjection = MainApp.mediaProjection;
//        SysUtils.hideStatusBar(this);
        if(mediaProjection==null) {
            log.d("screenShotPrepare mediaProjection null ");
            return;
        }
        log.d("screenShotPrepare");
        Display display = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        metrics = new DisplayMetrics();
        display.getRealMetrics(metrics);
        Point point = new Point();
        display.getRealSize(point);
        width = point.x;
        height = point.y;

        //将屏幕画面放入ImageReader关联的Surface中
        imageReader = ImageReader.newInstance(width, height, PixelFormat.RGBA_8888, 1);
        log.d("screenShotPrepare2 "+imageReader);
//        imageReader.setOnImageAvailableListener(new ImageReader.OnImageAvailableListener() {
//            @Override
//            public void onImageAvailable(ImageReader reader) {
//                log.d("onImageAvailable ");
//            }
//        },null);
        virtualDisplay = mediaProjection.createVirtualDisplay("ScreenShotDemo",
                width, height, metrics.densityDpi,
                DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
                imageReader.getSurface(),
                null, null/*Handler*/);
    }
 
开发者ID:yippeesoft,项目名称:NotifyTools,代码行数:38,代码来源:JumpService.java

示例10: initDisplayMetrics

import android.view.Display; //导入方法依赖的package包/类
public static void initDisplayMetrics(Context context) {
  DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
  DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);

  DisplayMetrics screenDisplayMetrics = new DisplayMetrics();
  screenDisplayMetrics.setTo(displayMetrics);
  WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
  Assertions.assertNotNull(
      wm,
      "WindowManager is null!");
  Display display = wm.getDefaultDisplay();

  // Get the real display metrics if we are using API level 17 or higher.
  // The real metrics include system decor elements (e.g. soft menu bar).
  //
  // See: http://developer.android.com/reference/android/view/Display.html#getRealMetrics(android.util.DisplayMetrics)
  if (Build.VERSION.SDK_INT >= 17) {
    display.getRealMetrics(screenDisplayMetrics);
  } else {
    // For 14 <= API level <= 16, we need to invoke getRawHeight and getRawWidth to get the real dimensions.
    // Since react-native only supports API level 16+ we don't have to worry about other cases.
    //
    // Reflection exceptions are rethrown at runtime.
    //
    // See: http://stackoverflow.com/questions/14341041/how-to-get-real-screen-height-and-width/23861333#23861333
    try {
      Method mGetRawH = Display.class.getMethod("getRawHeight");
      Method mGetRawW = Display.class.getMethod("getRawWidth");
      screenDisplayMetrics.widthPixels = (Integer) mGetRawW.invoke(display);
      screenDisplayMetrics.heightPixels = (Integer) mGetRawH.invoke(display);
    } catch (InvocationTargetException | IllegalAccessException | NoSuchMethodException e) {
      throw new RuntimeException("Error getting real dimensions for API level < 17", e);
    }
  }
  DisplayMetricsHolder.setScreenDisplayMetrics(screenDisplayMetrics);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:37,代码来源:DisplayMetricsHolder.java

示例11: hasVirtualNavigationBar

import android.view.Display; //导入方法依赖的package包/类
/**
 * 判断手机是否含有虚拟按键  99%
 *
 * @return
 */
public static boolean hasVirtualNavigationBar(Context context) {
    boolean hasSoftwareKeys = true;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Display d = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

        DisplayMetrics realDisplayMetrics = new DisplayMetrics();
        d.getRealMetrics(realDisplayMetrics);

        int realHeight = realDisplayMetrics.heightPixels;
        int realWidth = realDisplayMetrics.widthPixels;

        DisplayMetrics displayMetrics = new DisplayMetrics();
        d.getMetrics(displayMetrics);

        int displayHeight = displayMetrics.heightPixels;
        int displayWidth = displayMetrics.widthPixels;

        hasSoftwareKeys = (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
        boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
        hasSoftwareKeys = !hasMenuKey && !hasBackKey;
    }

    return hasSoftwareKeys;
}
 
开发者ID:z-chu,项目名称:FriendBook,代码行数:33,代码来源:DisplayUtil.java

示例12: getRealScreenHeight

import android.view.Display; //导入方法依赖的package包/类
/**
 * 获取屏幕高度,包括底部导航栏
 *
 * @param activity
 * @return
 */
public static int getRealScreenHeight(Activity activity) {
    WindowManager windowManager = activity.getWindowManager();
    Display display = windowManager.getDefaultDisplay();
    DisplayMetrics displayMetrics = new DisplayMetrics();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        display.getRealMetrics(displayMetrics);
    } else {
        display.getMetrics(displayMetrics);
    }
    return displayMetrics.heightPixels;
}
 
开发者ID:zhudongya123,项目名称:WechatChatroomHelper,代码行数:18,代码来源:UIUtil.java

示例13: getRealResolution

import android.view.Display; //导入方法依赖的package包/类
/**
 * Gets real resolution via the new getRealMetrics API.
 * */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private static Pair<Integer,Integer> getRealResolution(Context ctx) {
  WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
  Display display = wm.getDefaultDisplay();
  DisplayMetrics metrics = new DisplayMetrics();
  display.getRealMetrics(metrics);
  return new Pair<Integer, Integer>(metrics.widthPixels, metrics.heightPixels);
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:12,代码来源:ScreenResolution.java

示例14: getScreenWidth

import android.view.Display; //导入方法依赖的package包/类
/**
 * Finds and returns the TRUE width of the screen
 * @return
 */
public static int getScreenWidth(Activity activity) {
	if (activity != null) {
		Display display = activity.getWindowManager().getDefaultDisplay();
		DisplayMetrics metrics = new DisplayMetrics();
		Point size = new Point();
		int width, height;

		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
			if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && activity.isInMultiWindowMode()) {
				display.getMetrics(metrics);
			} else {
				display.getRealMetrics(metrics);
			}

			width = metrics.widthPixels;
			height = metrics.heightPixels;
		} else {
			display.getSize(size);
			width = size.x;
			height = size.y;
		}

		return Math.max(width, height);
	}

	return 0;
}
 
开发者ID:SebastianRask,项目名称:Pocket-Plays-for-Twitch,代码行数:32,代码来源:StreamFragment.java

示例15: hasImmersive

import android.view.Display; //导入方法依赖的package包/类
@SuppressLint ("NewApi")
private boolean hasImmersive() {

    if (!cached) {
        if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
            hasImmersive = false;
            cached = true;
            return false;
        }
        Display d = ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

        DisplayMetrics realDisplayMetrics = new DisplayMetrics();
        d.getRealMetrics(realDisplayMetrics);

        int realHeight = realDisplayMetrics.heightPixels;
        int realWidth = realDisplayMetrics.widthPixels;

        DisplayMetrics displayMetrics = new DisplayMetrics();
        d.getMetrics(displayMetrics);

        int displayHeight = displayMetrics.heightPixels;
        int displayWidth = displayMetrics.widthPixels;

        hasImmersive = (realWidth > displayWidth) || (realHeight > displayHeight);
        cached = true;
    }

    return hasImmersive;
}
 
开发者ID:lequanghuylc,项目名称:react-native-detect-navbar-android,代码行数:30,代码来源:RNDetectNavbarAndroidModule.java


注:本文中的android.view.Display.getRealMetrics方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。