@@ -9,7 +9,6 @@ import android.view.SurfaceHolder
99import androidx.appcompat.app.AppCompatActivity
1010import com.mapbox.maps.*
1111import com.mapbox.maps.renderer.widget.BitmapWidget
12- import com.mapbox.maps.renderer.widget.Widget
1312import com.mapbox.maps.renderer.widget.WidgetPosition
1413import com.mapbox.maps.testapp.databinding.ActivitySurfaceBinding
1514
@@ -20,7 +19,6 @@ class SurfaceActivity : AppCompatActivity(), SurfaceHolder.Callback {
2019
2120 private lateinit var surfaceHolder: SurfaceHolder
2221 private lateinit var mapSurface: MapSurface
23- private lateinit var widget: Widget
2422 private val animator = ValueAnimator .ofFloat(0f , 1f ).also {
2523 it.duration = ANIMATION_DURATION
2624 it.repeatCount = ValueAnimator .INFINITE
@@ -63,13 +61,23 @@ class SurfaceActivity : AppCompatActivity(), SurfaceHolder.Callback {
6361 .setHorizontalAlignment(WidgetPosition .Horizontal .CENTER )
6462 .setVerticalAlignment(WidgetPosition .Vertical .CENTER )
6563 .build()
66- widget = LogoWidget (this , widgetPosition)
67- mapSurface.addWidget(widget )
64+ val rotatingWidget = LogoWidget (this , widgetPosition)
65+ mapSurface.addWidget(rotatingWidget )
6866 animator.addUpdateListener {
6967 val angle = (it.animatedFraction * 360f ) % 360f
70- widget .setRotation(angle)
68+ rotatingWidget .setRotation(angle)
7169 }
7270 animator.start()
71+
72+ // add second widget to make sure both are rendered
73+ val staticWidgetPosition = WidgetPosition
74+ .Builder ()
75+ .setHorizontalAlignment(WidgetPosition .Horizontal .LEFT )
76+ .setVerticalAlignment(WidgetPosition .Vertical .BOTTOM )
77+ .setOffsetX(20f )
78+ .setOffsetY(- 20f )
79+ .build()
80+ mapSurface.addWidget(LogoWidget (this , staticWidgetPosition))
7381 }
7482
7583 override fun surfaceCreated (holder : SurfaceHolder ) {
0 commit comments