在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);