android - AdMob 自适应横幅。从上下文中获取 DisplayMetrics

标签 android android-activity admob android-context firebase-admob

我想使用新引入的Google AdMob Adaptive Banners在我的应用程序中。本快速入门演示了通过 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);
}

但是这个函数使用了Activity的getWindowManager()来进行计算。但我只是将上下文传递给我的类(class)。无论如何要获取带有上下文的 DisplayMetrics 吗?

最佳答案

轻松完成。

这一点

Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);

可以替换为:

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

关于android - AdMob 自适应横幅。从上下文中获取 DisplayMetrics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58972162/

相关文章:

android - 有没有办法一次运行多个 IntentService?

Android 在后台保持 Activity

java - Android Studio : Can't switch to new activity

android - 获取由 admob 引起的致命异常

android - 如何为 EditText Android 设置光标背景透明

android - nestedscrollview 大高度图像不显示在 ImageView android

android - 如何限制 Android 仅针对某些选定字符编辑文本字段

机器人 "close" Activity

android - 在此适配器中添加一个 AdView

android - AdMob 广告在 ListView 中需要点击两次才能激活?