#android #xcode #cocos2d-x
#Android #xcode #cocos2d-x
Вопрос:
Я разработал игру в xcode с использованием cocos2d-x и конвертировал ее на Android.Затем я добавил рекламу сервисов Google Play, но она отображается в левом углу. Я хочу отобразить его посередине. Пожалуйста, кто-нибудь, помогите мне найти решение.
private Point getDisplaySize(Display d)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
return getDisplaySizeGE11(d);
}
return getDisplaySizeLT11(d);
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
private Point getDisplaySizeGE11(Display d)
{
Point p = new Point(0, 1);
d.getSize(p);
return p;
}
private Point getDisplaySizeLT11(Display d)
{
try
{
Method getWidth = Display.class.getMethod("getWidth", new Class[] {});
Method getHeight = Display.class.getMethod("getHeight", new Class[] {});
return new Point(((Integer) getWidth.invoke(d,(Object[]) null)).intValue(),
((Integer) getHeight.invoke(d, (Object[]) null)).intValue());
}
catch (NoSuchMethodException e2) // None of these exceptions should ever occur.
{
return new Point(-1, -1);
}
catch (IllegalArgumentException e2)
{
return new Point(-2, -2);
}
catch (IllegalAccessException e2)
{
return new Point(-3, -3);
}
catch (InvocationTargetException e2)
{
return new Point(-4, -4);
}
}
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
int width = getDisplaySize(getWindowManager().getDefaultDisplay()).y;
FrameLayout.LayoutParams adParams = new FrameLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
adParams.gravity = Gravity.BOTTOM;
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("HASH_DEVICE_ID")
.build();
adView.loadAd(adRequest);
adView.setBackgroundColor(Color.BLACK);
adView.setBackgroundColor(0);
addContentView(adView,adParams);
_appActiviy = this;
}
Комментарии:
1. Я не использую никакой макет. Я использую только рекламный код сервисов Google Play в файле .java.
2. Если вы что-то показываете, вы используете макет.
Ответ №1:
В приведенном выше коде внесите следующие изменения.
Найдите приведенный ниже код
adParams.gravity = Gravity.BOTTOM;
Измените его следующим образом
adParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
Затем добавление будет отображаться в середине нижней части вашего приложения.