getInfoContents not show my custom marker's view (ConstraintLayout)

233 Views Asked by At

android studio 3.6 I need to show custom view when click on map's marker:

implementation 'com.google.android.gms:play-services-maps:17.0.0'

snippet to show marker info window

 import com.google.android.gms.maps.GoogleMap
    import com.google.android.gms.maps.OnMapReadyCallback



    mMap.setInfoWindowAdapter(object : GoogleMap.InfoWindowAdapter {
                override fun getInfoWindow(marker: Marker): View? {
                    return null
                }

              override fun getInfoContents(marker: Marker): View? {
                val markerLatLng = marker.position
                val selectGazStattion =
                    gazStationsList.first { it.latitude == markerLatLng.latitude && it.longitude == markerLatLng.longitude }
                val customView = layoutInflater.inflate(
                    R.layout.map_marker_info_content_layout, null
                )
                val textView : TextView = customView.findViewById(R.id.addressValueTextView)
                textView.setText(selectGazStattion.address)
                return customView
            }
            })

here map_marker_info_content_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/titleContainerLayout"
        android:layout_width="0dp"
        android:layout_height="@dimen/min_height"
        android:layout_marginStart="@dimen/half_default_margin"
        android:layout_marginTop="@dimen/default_margin"
        android:layout_marginEnd="@dimen/half_default_margin"
        android:background="@drawable/bottom_border_bg"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/titleTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/half_default_margin"
            android:gravity="center|start"
            android:text="Title"
            android:textColor="@android:color/black"
            android:textSize="15sp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/stateTtextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/open"
            android:textColor="@android:color/holo_green_light"
            android:textSize="14sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="@+id/titleTextView"
            app:layout_constraintStart_toStartOf="@+id/titleTextView"
            app:layout_constraintTop_toBottomOf="@+id/titleTextView" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/containerAgentInfo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/half_default_margin"
        android:background="@drawable/bottom_border_bg"
        app:layout_constraintEnd_toEndOf="@+id/titleContainerLayout"
        app:layout_constraintStart_toStartOf="@+id/titleContainerLayout"
        app:layout_constraintTop_toBottomOf="@+id/titleContainerLayout">

        <TextView
            android:id="@+id/addressLabelTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/half_default_margin"
            android:layout_marginEnd="@dimen/half_default_margin"
            android:text="@string/address_colon"
            app:layout_constraintEnd_toStartOf="@+id/addressValueTextView"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/addressValueTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="end"
            android:text="TextView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/addressLabelTextView"
            app:layout_constraintTop_toTopOf="@+id/addressLabelTextView" />

        <TextView
            android:id="@+id/workingHoursLabelTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/half_default_margin"
            android:text="@string/working_hours_colon"
            app:layout_constraintEnd_toEndOf="@+id/addressLabelTextView"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="@+id/addressLabelTextView"
            app:layout_constraintTop_toBottomOf="@+id/addressLabelTextView" />

        <TextView
            android:id="@+id/workingHoursValueTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="end"
            android:text="TextView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="@+id/addressValueTextView"
            app:layout_constraintTop_toTopOf="@+id/workingHoursLabelTextView" />


        <TextView
            android:id="@+id/phoneLabelTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/half_default_margin"
            android:text="@string/phone_colon"
            app:layout_constraintEnd_toEndOf="@+id/addressLabelTextView"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="@+id/workingHoursLabelTextView"
            app:layout_constraintTop_toBottomOf="@+id/workingHoursLabelTextView" />

        <TextView
            android:id="@+id/phoneValueTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="end"
            android:text="TextView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="@+id/addressValueTextView"
            app:layout_constraintTop_toTopOf="@+id/phoneLabelTextView" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/containerServices"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/half_default_margin"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/titleContainerLayout"
        app:layout_constraintStart_toStartOf="@+id/titleContainerLayout"
        app:layout_constraintTop_toBottomOf="@+id/containerAgentInfo">

        <TextView
            android:id="@+id/servicesTextView"
            style="@style/mapMarkerInfoItemLabelTextStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/half_default_margin"
            android:layout_marginEnd="@dimen/half_default_margin"
            android:text="@string/services_colon"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <com.yarolegovich.discretescrollview.DiscreteScrollView
            android:id="@+id/agetServiceDiscreteScrollView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:dsv_orientation="horizontal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/servicesTextView" />
    </androidx.constraintlayout.widget.ConstraintLayout>


</androidx.constraintlayout.widget.ConstraintLayout>

But when I click on marker I get this:

enter image description here

Why not show my custom view?

P.S. If I use LinearLayout then success show info window. But with androidx.constraintlayout.widget.ConstraintLayout not work

0

There are 0 best solutions below