Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android上获取窗口大小时出错:“0”;getWindowManager方法未定义";_Android_Android Layout - Fatal编程技术网

在android上获取窗口大小时出错:“0”;getWindowManager方法未定义";

在android上获取窗口大小时出错:“0”;getWindowManager方法未定义";,android,android-layout,Android,Android Layout,我需要得到窗户的高度和重量。 我的代码中有: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); width1 = metrics.widthPixels; height1 = metrics.heightPixels; 但我有一个错误: getWindowManager方法未定义 我应该为这个进口什么? 或者我可以用不同的方法得到

我需要得到窗户的高度和重量。
我的代码中有:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
width1 = metrics.widthPixels; 
height1 = metrics.heightPixels;
但我有一个错误:

getWindowManager方法未定义

我应该为这个进口什么? 或者我可以用不同的方法得到熨平板的尺寸? 我已经进口了

import android.view.Display;
import android.view.Window;
import android.view.WindowManager;
import android.content.Context;
import android.util.DisplayMetrics;

请检查您是在活动类中还是在活动外部调用上述方法


对于墙纸,此方法不适用于获取窗口的高度或宽度,您需要使用surface获取可用窗口的宽度和高度。

您在哪里使用此代码

getWindowManager
的错误表示找不到该方法,因为类的根没有该方法

试试这个:

((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);

如果这不起作用,请粘贴您的活动

使用以下方法:

 display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
 display.getWidth(); // to get width of the screen
 display.getHeight(); // to get height of the Screen
更新

请查看该网站。以供更多参考

您可以使用下面的代码片段获取设备的高度和宽度

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

例如,如果在片段中使用它,可以使用它:

getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);

将活动的
上下文
getActivityContext()

它对我有用

import android.app.Activity;

((Activity)getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);

mediaProjectionManager = (MediaProjectionManager)((Activity) getContext()).getSystemService(Context.MEDIA_PROJECTION_SERVICE);

不,我正在制作一张实时墙纸,我正在墙纸的引擎中调用它GetHeight()现在是deprecated@IgorG.:你能给我一个据说不推荐的链接吗?
DisplayMetrics metrics = new DisplayMetrics();
getActivityContext().getWindowManager().getDefaultDisplay().getMetrics(metrics);
width1 = metrics.widthPixels; 
height1 = metrics.heightPixels;
import android.app.Activity;

((Activity)getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);

mediaProjectionManager = (MediaProjectionManager)((Activity) getContext()).getSystemService(Context.MEDIA_PROJECTION_SERVICE);