gpt4 book ai didi

Android 在运行时更改谷歌地图填充

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:59:23 27 4
gpt4 key购买 nike

我想在运行时移动 Google map 布局项目,但我做不到,而且我不知道这是否可能。我想要做的是:我有一个占据所有屏幕的谷歌地图 fragment 。我也有一个广告。当应用程序启动时,我会显示 map 。像这样:

enter image description here

当广告加载时,我将广告显示在底部,但我需要将 Google Logo 移到广告上方。像这样:

enter image description here

我试过:

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

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

编辑:感谢@SimplePlan,我将包含 mapfragment 的 RelativeLayout 更改为 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);
}
});

最佳答案

只要布局过程没有完成, View 的维度就会设置为 0。使用 Handler,您可以在布局完成后设置 map 的内边距。

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

关于Android 在运行时更改谷歌地图填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com