Android AppBarLayout se superpone a la vista de lista
listview android-appbarlayout (2)
Simple añadir
app:layout_behavior="@string/appbar_scrolling_view_behavior"
a su ListView
Estoy escribiendo una aplicación simple para jugar con ContentProvider, tengo un db, un ContentProvider, una actividad principal, una clase que reenvía comandos al ContentProvider usando ContentResolver. En la interfaz gráfica de usuario solo quiero mostrar todos los elementos almacenados en la db. Creé este proyecto desde cero y al crear la Actividad, el diseño principal tenía un CoordinatorLayout, con un AppBarLayout, y eso está bien, creé un ListView y todo funciona, excepto que el AppBarLayout se superpone al ListView, debajo del primer elemento del listview Está escondido por el AppBarLayout.
Intenté usar android:layout_below
para mi ListView pero no funciona, si uso android:layout_marginTop
entonces mi ListView está debajo de AppBarLayout pero no encuentro esta solución agradable.
¿No hay una manera fácil y limpia de tener ListView en el AppBarLayout?
debajo de mi activity_main layout:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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="match_parent"
android:background="@color/holo_light_background"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/bar"/>
<android.support.design.widget.FloatingActionButton ...>
<android.support.design.widget.FloatingActionButton ...>
</android.support.design.widget.CoordinatorLayout>
una forma alternativa es usar RecyclerView lugar de ListView, funcionará seguro ........
O
utilizar:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
listView.setNestedScrollingEnabled(true);
}
Obviamente solo funcionará en Lollipop.