我有一个带有子MapBoxView
的frameLayout<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:mapbox="http://schemas.android.com/apk/res-auto">
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapBoxMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
mapbox:access_token="@string/accessTokenMapBox"/>
</FrameLayout>
我更改父视图的大小,但MapView没有更新布局
我尝试调用requsetLayout(),尝试invalidateLayout() - 没有效果。
答案 0 :(得分:1)
您是否尝试过在LinearLayout中包装FrameLayout,使其看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:mapbox="http://schemas.android.com/apk/res-auto"
tools:context="com.mycompany.myfirstglapp.MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:mapbox="http://schemas.android.com/apk/res-auto">
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapBoxMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
mapbox:access_token="@string/accessTokenMapBox"/>
</FrameLayout>
除非您计划在mapView布局顶部添加按钮(如按钮),否则可以删除FrameLayout。如果要在运行时更改对象或大小的位置,则使用android.support.design.widget.CoordinatorLayout
而不是FrameLayout也可能有所帮助。