Añadir SearchView debajo de la ActionBar en Android


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
    }

})

Recursos

Ver plantila en Github

Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: