Add SurfaceViewResizeAcitivty to MapLibreAndroidTestApp (#4014)
This commit is contained in:
@@ -976,6 +976,18 @@
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".activity.FeatureOverviewActivity" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activity.surfaceview.SurfaceViewResizeActivity"
|
||||
android:description="@string/description_surfaceview_resize"
|
||||
android:exported="true"
|
||||
android:label="@string/activity_surfaceview_resize">
|
||||
<meta-data
|
||||
android:name="@string/category"
|
||||
android:value="@string/category_surfaceview" />
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".activity.FeatureOverviewActivity" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activity.maplayout.OverlayMapActivity"
|
||||
android:description="@string/description_overlay"
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
package org.maplibre.android.testapp.activity.surfaceview
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
import org.maplibre.android.maps.*
|
||||
import org.maplibre.android.testapp.R
|
||||
import org.maplibre.android.testapp.styles.TestStyles
|
||||
|
||||
/**
|
||||
* Test resizing a [android.view.SurfaceView] backed map on the fly.
|
||||
*/
|
||||
class SurfaceViewResizeActivity : AppCompatActivity() {
|
||||
private lateinit var mapView: MapView
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_surfaceview_resize)
|
||||
setupToolbar()
|
||||
setupMapView(savedInstanceState)
|
||||
setupFab()
|
||||
}
|
||||
|
||||
private fun setupToolbar() {
|
||||
val actionBar = supportActionBar
|
||||
if (actionBar != null) {
|
||||
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar!!.setHomeButtonEnabled(true)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupMapView(savedInstanceState: Bundle?) {
|
||||
mapView = findViewById(R.id.mapView)
|
||||
mapView.onCreate(savedInstanceState)
|
||||
mapView.getMapAsync { setupMap(it) }
|
||||
}
|
||||
|
||||
private fun setupMap(maplibreMap: MapLibreMap) {
|
||||
maplibreMap.setStyle(TestStyles.AWS_OPEN_DATA_STANDARD_LIGHT)
|
||||
}
|
||||
|
||||
private fun setupFab() {
|
||||
val fabDebug = findViewById<FloatingActionButton>(R.id.fabResize)
|
||||
fabDebug.setOnClickListener { view: View? ->
|
||||
if (this::mapView.isInitialized) {
|
||||
val parent = findViewById<View>(R.id.coordinator_layout)
|
||||
val width = if (parent.width == mapView.width) parent.width / 2 else parent.width
|
||||
val height =
|
||||
if (parent.height == mapView.height) parent.height / 2 else parent.height
|
||||
mapView.layoutParams = CoordinatorLayout.LayoutParams(width, height)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
mapView.onStart()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
mapView.onResume()
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
mapView.onPause()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
mapView.onStop()
|
||||
}
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
mapView.onSaveInstanceState(outState)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
mapView.onDestroy()
|
||||
}
|
||||
|
||||
override fun onLowMemory() {
|
||||
super.onLowMemory()
|
||||
mapView.onLowMemory()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<org.maplibre.android.maps.MapView
|
||||
android:id="@+id/mapView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:maplibre_renderTextureMode="false"/>
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fabResize"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:layout_marginBottom="@dimen/fab_margin"
|
||||
android:layout_marginRight="@dimen/fab_margin"
|
||||
android:src="@drawable/ic_refresh"
|
||||
app:backgroundTint="@color/accent"
|
||||
app:layout_anchorGravity="bottom"/>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -15,6 +15,7 @@
|
||||
<string name="category_storage">Storage</string>
|
||||
<string name="category_events">Events</string>
|
||||
<string name="category_textureview">Texture View</string>
|
||||
<string name="category_surfaceview">Surface View</string>
|
||||
<string name="category_location">Location</string>
|
||||
<string name="category_integration">_Integration</string>
|
||||
<string name="category_turf">Turf</string>
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
<string name="description_textureview_resize">Resize a map rendered on a TextureView</string>
|
||||
<string name="description_textureview_animate">Animate a map rendered on a TextureView</string>
|
||||
<string name="description_textureview_transparent">Enable a transparent surface on TextureView</string>
|
||||
<string name="description_surfaceview_resize">Resize a map rendered on a SurfaceView</string>
|
||||
<string name="description_overlay">Blend an overlay on a map</string>
|
||||
<string name="description_grid_source">Example Custom Geometry Source</string>
|
||||
<string name="description_no_style">Load a map without providing a style URI or JSON</string>
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
<string name="activity_textureview_resize">TextureView resize</string>
|
||||
<string name="activity_textureview_animate">TextureView animation</string>
|
||||
<string name="activity_textureview_transparent">TextureView transparent background</string>
|
||||
<string name="activity_surfaceview_resize">SurfaceView resize</string>
|
||||
<string name="activity_overlay">Map overlay</string>
|
||||
<string name="activity_grid_source">Grid Source</string>
|
||||
<string name="activity_no_style">No Style URI/JSON</string>
|
||||
|
||||
Reference in New Issue
Block a user