Código de implementación del componente SearchView que se muestre por debajo de la barra de herramientas inicial y si hay contenido al realizar desplazamiento se oculte la barra de herramientas, dejando el cuadro de búsqueda en posición estática

Definición del layout
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="?actionBarTheme">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|snap|enterAlways"
app:popupTheme="?actionBarPopupTheme" />
<androidx.appcompat.widget.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:background="@drawable/bg_rounded_search"
android:imeOptions="actionSearch|flagNoExtractUi"
android:theme="@style/ThemeOverlay.MaterialComponents.Light"
app:iconifiedByDefault="false"
app:queryHint="@string/search"
app:searchIcon="@null" />
</com.google.android.material.appbar.AppBarLayout>
Implementación Kotlin
Implmentación del SearchView
usando Kotlin y AndroidX(Jetpack) El evento onQueryTextSubmit
se recibe al finalizar la entrada del texto
search_view.setOnQueryTextListener(object :
androidx.appcompat.widget.SearchView.OnQueryTextListener {
override fun onQueryTextChange(newText: String): Boolean {
Log.d("SimpleSearchView", "Text changed:$newText")
return false
}
override fun onQueryTextSubmit(query: String): Boolean {
Log.d("SimpleSearchView", "Submit:$query")
Toast.makeText(this@MainActivity, "Submit:$query", Toast.LENGTH_SHORT).show()
return false
}
})