我有一个视图,其中包含一个MapFragment
我的mainViewPanel看起来像这样
<LinearLayout
android:id="@+id/main_view_panel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:orientation="horizontal">
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraTargetLat="40.72"
map:cameraTargetLng="-74.00"
map:cameraZoom="8"/>
</LinearLayout>
我的翻译代码如下所示。
TranslateAnimation anim = new TranslateAnimation(0, 500, 0, 0);
anim.setFillAfter(true);
anim.setDuration(250);
mainViewPanel.startAnimation(anim);
视图的其余部分进行了动画,但地图保持不变。就像主视图窗口在移动,我可以看到地图右侧更多的内容,但地图本身并没有视觉上的移动。其他视图(如TextView)的动画正常工作。
SurfaceView
的,它具有与常规小部件不同的特性。显然,有方法可以翻译地图,例如ViewPager
可以实现,但我怀疑它没有使用TranslateAnimation
,即使对于普通小部件来说,这也很笨拙,更不用说SurfaceView
了。 - CommonsWaremapWrapperView.setPadding(offsetWidth, 0, -offsetWidth, 0);
这样的操作。 - Drew LeSueur