Add translucent navigation and status bar to the MerchantsFragment and adjust the content size so that the map grows below them.
This commit is contained in:
parent
ba82d50cc6
commit
4d8ed68912
3 changed files with 45 additions and 11 deletions
|
@ -38,9 +38,13 @@ class HomeFragment : Fragment() {
|
||||||
val toolbar: Toolbar? = activity?.findViewById(R.id.toolbar)
|
val toolbar: Toolbar? = activity?.findViewById(R.id.toolbar)
|
||||||
toolbar?.navigationIcon = resources.getDrawable(R.drawable.ic_bitsy_logo_2, null)
|
toolbar?.navigationIcon = resources.getDrawable(R.drawable.ic_bitsy_logo_2, null)
|
||||||
toolbar?.setBackgroundResource(if (!nightMode) R.color.colorPrimary else R.color.colorToolbarDark)
|
toolbar?.setBackgroundResource(if (!nightMode) R.color.colorPrimary else R.color.colorToolbarDark)
|
||||||
|
toolbar?.visibility = View.VISIBLE
|
||||||
|
|
||||||
// Sets the status bar background color to a primaryColorDark
|
// Makes sure the Navigation and Status bar are not translucent after returning from the MerchantsFragment
|
||||||
val window = activity?.window
|
val window = activity?.window
|
||||||
|
window?.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
|
||||||
|
window?.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||||
|
// Sets the status bar background color to a primaryColorDark
|
||||||
window?.statusBarColor = ContextCompat.getColor(context!!,
|
window?.statusBarColor = ContextCompat.getColor(context!!,
|
||||||
if (!nightMode) R.color.colorPrimaryDark else R.color.colorStatusBarDark)
|
if (!nightMode) R.color.colorPrimaryDark else R.color.colorStatusBarDark)
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,12 @@ class MerchantsFragment : Fragment(), OnMapReadyCallback, SearchView.OnSuggestio
|
||||||
|
|
||||||
// Get a reference to the toolbar, to correctly place the merchants and tellers popup menu
|
// Get a reference to the toolbar, to correctly place the merchants and tellers popup menu
|
||||||
mToolbar = activity?.findViewById(R.id.toolbar)
|
mToolbar = activity?.findViewById(R.id.toolbar)
|
||||||
|
mToolbar?.visibility = View.GONE
|
||||||
|
|
||||||
|
// Sets the Navigation and Status bars translucent so that the map can be viewed through them
|
||||||
|
val window = activity?.window
|
||||||
|
window?.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
|
||||||
|
window?.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||||
|
|
||||||
return inflater.inflate(R.layout.fragment_merchants, container, false)
|
return inflater.inflate(R.layout.fragment_merchants, container, false)
|
||||||
}
|
}
|
||||||
|
@ -326,6 +332,10 @@ class MerchantsFragment : Fragment(), OnMapReadyCallback, SearchView.OnSuggestio
|
||||||
override fun onMapReady(googleMap: GoogleMap) {
|
override fun onMapReady(googleMap: GoogleMap) {
|
||||||
mMap = googleMap
|
mMap = googleMap
|
||||||
|
|
||||||
|
// Add padding to move the controls out of the toolbar/status bar and navigation bar.
|
||||||
|
// TODO might be necessary to convert dp to pixels
|
||||||
|
mMap.setPadding(0, 200, 0, 100)
|
||||||
|
|
||||||
applyMapTheme()
|
applyMapTheme()
|
||||||
|
|
||||||
verifyLocationPermission()
|
verifyLocationPermission()
|
||||||
|
|
|
@ -1,4 +1,22 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
tools:context=".activities.MainActivity">
|
||||||
|
|
||||||
|
<!-- TODO get the height of the status bar dynamically instead of hardcoding the 24dp-->
|
||||||
|
<androidx.appcompat.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:background="@color/semiTransparent"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:theme="@style/ThemeOverlay.MaterialComponents" />
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:map="http://schemas.android.com/apk/res-auto"
|
xmlns:map="http://schemas.android.com/apk/res-auto"
|
||||||
|
@ -13,3 +31,5 @@
|
||||||
map:cameraTargetLng="-84.230800"
|
map:cameraTargetLng="-84.230800"
|
||||||
map:cameraZoom="3.5"
|
map:cameraZoom="3.5"
|
||||||
tools:context=".fragments.MerchantsFragment"/>
|
tools:context=".fragments.MerchantsFragment"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
Loading…
Reference in a new issue