首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用andEngine CropResolutionPolicy时在屏幕底部准确显示admob智能横幅

如何在使用andEngine CropResolutionPolicy时在屏幕底部准确显示admob智能横幅
EN

Stack Overflow用户
提问于 2015-03-29 17:50:20
回答 1查看 593关注 0票数 0

这就是我们的交易。我正在用andEngine制作一个游戏,我使用CropResoltionpolicy (它的工作方式:http://android.kul.is/2013/10/andengine-tutorial-dealing-with-screen-sizes.html)。我有480x800的水平方向的发动机照相机。但是设备的分辨率是1920x1080。在我的游戏中,屏幕的顶部和底部都是溢出的设备屏幕(参见前面的链接,红色矩形是如何在屏幕的左边和右边溢出)。因此,当我添加直接从顶部开始的横幅(与主游戏活动布局的顶部对齐)时,它是部分隐藏的。通过使用'.setY()‘,我可以轻松地将横幅移动得稍微低一点,但在其他具有不同屏幕的设备上不能正常工作。所以我要找的是一种方法来设置横幅总是在设备屏幕的顶部或底部,而不是游戏视图/布局,因为它们不一样。

我用来显示广告的代码:

代码语言:javascript
复制
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final DisplayMetrics displayMetrics = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);


    this.adView = new AdView(this);
    this.adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
    this.adView.setAdUnitId("myAdId");
    com.google.android.gms.ads.AdRequest adrequest = new com.google.android.gms.ads.AdRequest.Builder().addTestDevice(com.google.android.gms.ads.AdRequest.DEVICE_ID_EMULATOR).build();
    this.adView.setY(displayMetrics.heightPixels - this.adView.getHeight()); // here I set position of my banner, but it does not work properly

    this.adView.loadAd(adrequest);

    RelativeLayout layout = (RelativeLayout)findViewById(R.id.relativeLayout);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);


    layout.addView(this.mRenderSurfaceView);

    layout.addView(this.adView, params);

}

我的main_activity.xml:

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id ="@+id/relativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:layout_gravity="center"
android:gravity="center"

tools:context="com.hsdev.salesrep.MainActivity" >

</RelativeLayout>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-30 11:26:34

如果你想得够多的话,答案就很简单了:

代码语言:javascript
复制
final DisplayMetrics displayMetrics = new DisplayMetrics();
this.adView.setY(displayMetrics.heightPixels - (this.adView.getHeight() * (displayMetrics.heightPixels / 480) ) - 50);

其中480是andEngine中的相机高度,50是旗帜的高度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29332639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档