Android在运行时更改Google地图填充

我想在运行时移动Google地图布局项目,但我无法做到这一点,我不知道是否有可能。 我想要做的是:我有一个Google地图片段,占据了所有的屏幕。 我也有一个广告。 当应用程序启动时,我显示地图。 喜欢这个:

在这里输入图像说明

当广告加载时,我会在底部展示广告,但我需要将Google徽标移到广告上方。 喜欢这个:

在这里输入图像说明

我试过:

if (banner is loaded) googleMap.setPadding(0, 0, 0, banner.getLayoutParams().height); 

但是我没有成功。 我究竟做错了什么?

编辑:感谢@SimplePlan,我改变了RelativeLayout其中包括mapfragment到一个FrameLayout:

 <FrameLayout > <fragment android:id="@+id/map" class="com.google.android.gms.maps.SupportMapFragment" /> <com.inmobi.monetization.IMBanner android:layout_gravity="bottom" /> </FrameLayout> 

我在广告中添加了一个监听器:

 banner.setIMBannerListener(new IMBannerListener() { @Override public void onBannerRequestSucceeded(IMBanner arg0) { googleMap.setPadding(0, 0, 0, banner.getLayoutParams().height); } }); 

Solutions Collecting From Web of "Android在运行时更改Google地图填充"

只要布局过程没有完成,视图的尺寸设置为0.使用Handler ,可以在布局完成后设置贴图的填充。

  new Handler().post(new Runnable() { @Override public void run() { mapHelper.map.setPadding(0,0,0,ad.getHeight()); } });