Как рассчитать размер экрана в точности с учетом части Edge? Теперь я разрабатываю пользовательскую клавиатуру, и когда она становится видимой, ее размер рассчитывается программно на основе размера экрана.Как рассчитать ScreenSize точно в соответствии с соображениями Samsung Galaxy Edge в android
Какую функцию я использовал, чтобы вычислить размер экрана, как показано ниже.
public static Point getDimentionalSize(Context context)
{
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int realWidth;
int realHeight;
if (Build.VERSION.SDK_INT >= 17){
//new pleasant way to get real metrics
DisplayMetrics realMetrics = new DisplayMetrics();
display.getRealMetrics(realMetrics);
realWidth = realMetrics.widthPixels;
realHeight = realMetrics.heightPixels;
} else if (Build.VERSION.SDK_INT >= 14) {
//reflection for this weird in-between time
try {
Method mGetRawH = Display.class.getMethod("getRawHeight");
Method mGetRawW = Display.class.getMethod("getRawWidth");
realWidth = (Integer) mGetRawW.invoke(display);
realHeight = (Integer) mGetRawH.invoke(display);
} catch (Exception e) {
//this may not be 100% accurate, but it's all we've got
realWidth = display.getWidth();
realHeight = display.getHeight();
Log.e("Display Info", "Couldn't use reflection to get the real display metrics.");
}
} else {
//This should be close, as lower API devices should not have window navigation bars
realWidth = display.getWidth();
realHeight = display.getHeight();
}
return new Point(realWidth, realHeight);
}
Эта функция вычисляет размер экрана точно в пикселях. Но когда я пробовал его на Samsung Galaxy Note Edge
, приведенная ширина экрана составляет Edge part
. Я хотел бы исключить его из размера экрана. (если портрет, от ширины, в противном случае, от высоты)
Какое решение?
Спасибо за ваш быстрый ответ. Я пробовал, но он тоже не работает. –