Android AdMob自适应横幅。从上下文获取DisplayMetrics

Android AdMob自适应横幅。从上下文获取DisplayMetrics,android,android-activity,admob,android-context,firebase-admob,Android,Android Activity,Admob,Android Context,Firebase Admob,我想使用我的应用程序中新引入的。快速启动演示了一个通过DisplayMetrics动态计算AdSize的函数 private AdSize getAdSize() { // Step 2 - Determine the screen width (less decorations) to use for the ad width. Display display = getWindowManager().getDefaultDisplay(); DisplayMetric

我想使用我的应用程序中新引入的。快速启动演示了一个通过DisplayMetrics动态计算AdSize的函数

private AdSize getAdSize() {
    // Step 2 - Determine the screen width (less decorations) to use for the ad width.
    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics = new DisplayMetrics();
    display.getMetrics(outMetrics);

    float widthPixels = outMetrics.widthPixels;
    float density = outMetrics.density;

    int adWidth = (int) (widthPixels / density);

    // Step 3 - Get adaptive ad size and return for setting on the ad view.
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}
但此函数使用活动的getWindowManager()进行计算。但我只是把上下文传递给我的班级。要使用上下文获取DisplayMetrics?

很容易完成

这一点

Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
可替换为以下内容:

DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
容易完成

这一点

Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
可替换为以下内容:

DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();

如果您使用的是Cordova,则可以使用:

this.cordova.getActivity().getWindowManager().getDefaultDisplay();

如果您使用的是Cordova,则可以使用:

this.cordova.getActivity().getWindowManager().getDefaultDisplay();