0

これが取引です。私は andEngine でゲームを作成しており、CropResoltionpolicy を使用しています (仕組み: http://android.kul.is/2013/10/andengine-tutorial-dealing-with-screen-sizes.html)。エンジン カメラを水平方向に 480x800 に設定しました。ただし、デバイスの解像度は 1920x1080 です。私のゲームでは、画面の上部と下部がデバイス画面からはみ出しています (前のリンクを参照してください。赤い四角形が画面の左右にあふれています)。そのため、(メインのゲーム アクティビティ レイアウトの上部に揃えて) すぐ上から始まるバナーを追加すると、部分的に非表示になります。「.setY()」を使用するだけでバナーを少し下に簡単に移動できますが、画面が異なる他のデバイスでは正しく機能しません。だから私が探しているのは、バナーを常にデバイス画面の上部または下部に設定する方法であり、ゲームビュー/レイアウトは同じではないためです。

広告を表示するために使用する私のコード:

@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:

<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>
4

1 に答える 1