我已按照说明为 Unity 制作新的 AdMob 插件。广告显示正确,但底部位置有问题。它们显示在屏幕顶部。我已将重力设置为底部(对于 FrameLayout),但横幅广告再次显示在屏幕顶部。
我没有任何带有 LinearLayout/FrameLayout 标签的 .xml 文件。
这是所有代码:
public class playads {
private String adUnitID = "ca-app-pub-9578188175087140/5483276313";
private Activity activity; //Store the android main activity
private AdView adView; //The AdView we will display to the user
private LinearLayout layout; //The layout the AdView will sit on
public playads () {
activity = UnityPlayer.currentActivity;
activity.runOnUiThread(new Runnable() {
public void run(){
adView = new AdView(activity);
adView.setAdUnitId(adUnitID);
adView.setAdSize(AdSize.BANNER);
AdRequest request = new AdRequest.Builder().build();
adView.setAdListener(new AdListener() {
public void onAdLoaded() {
if(layout == null)
Log.d("null", "null");
{
activity.runOnUiThread(new Runnable() {
public void run(){
layout = new LinearLayout(activity);
layout.addView(adView);
//FrameLayout.LayoutParams p = new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
//p.gravity=Gravity.BOTTOM;
activity.addContentView(layout, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
((FrameLayout.LayoutParams)layout.getLayoutParams()).gravity = Gravity.BOTTOM;
}
});
}
}
}
);
adView.loadAd(request);
}
});
}
}
我真的不知道问题是什么。我花了一整天的时间找到它,但没有任何解决方案:(
请记住gravity
设置视图子视图的位置,同时layout_gravity
设置视图在其父视图中的位置。因此,在您的情况下,您想要设置 LinearLayout 的重力,这可以通过成员方法来完成。您还应该设置方向。
你的 run() 方法应该类似于:
public void run(){
layout = new LinearLayout(activity);
layout.setGravity(Gravity.BOTTOM);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(adView);
LinearLayout.LayoutParams lllp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
activity.addContentView(layout, lllp);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)