Superposiciones ListView con ToolBar
Estoy usando la biblioteca de soporte de diseño de android.
ListView
primera fila de ListView
superpone con el widget de la Toolbar
.
- El efecto de ondulación de fondo en los elementos de la barra de herramientas de StandAlone se ha ido
- Cajón de navegación debajo de la barra de herramientas
- El fondo de la barra de herramientas se convierte en color blanco cuando se establece en transparente
- Cambiar la barra de herramientas al icono del cajón / menú después de popBackStack ()?
- La barra de acción contextual no superpuesta a mi barra de herramientas
En mi MainActivity
i agregó el diseño de la coordinación y en el primer fragmento TAB agregó el diseño ListView
.
Pero la primera fila del corte ListView
porque si las pestañas de la Toolbar
.
¿Cómo arreglar este problema?
Main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/coordi" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.CoordinatorLayout android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="#FFEB3B" app:tabIndicatorHeight="6dp" app:tabSelectedTextColor="@android:color/white" app:tabTextColor="@android:color/white" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="16dp" android:src="@drawable/plus" /> </android.support.design.widget.CoordinatorLayout> </RelativeLayout> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/layout_drawer_header" /> </android.support.v4.widget.DrawerLayout> list_view.xml: ------------- <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="match_parent"></ListView>
- Clic del elemento de la barra de herramientas
- Barra de herramientas de AppCompat: establece el tema de la barra de herramientas desde el tema superior
- Mostrar flecha hacia atrás en la barra de herramientas Android
- Cómo puedo cambiar la alineación de las vistas secundarias de la barra de herramientas
- ¿Cómo puedo colocar un ProgressBar a la derecha de la barra de herramientas?
- El espacio entre la navegación hacia arriba y el título de la barra de herramientas es demasiado grande
- Arriba Navegación (flecha de la barra de acción flecha) no funciona para fragmentos
- Android El menú de acción personalizada de la barra de herramientas de diseño de material no está alineado correctamente
Tuve un problema similar y después de seguir la respuesta superior, reescribí mi código para usar RecyclerView
y obtuvo el mismo problema. A continuación, agregé este comportamiento a mi diseño de contenido y funcionó
app:layout_behavior="@string/appbar_scrolling_view_behavior"
El ScrollingViewBehavior
CoordinatorLayout
sólo funciona con vistas que admiten desplazamiento anidado (por ejemplo, RecyclerView
). ListView
no lo admite de forma predeterminada, por lo que el CoordinatorLayout
no se ocupa de la posición del ListView
correctamente.
Si desea que todos los comportamientos de desplazamiento de la biblioteca de soporte de diseño, puede intentar convertir su lista a un RecyclerView
. ListView
también ganó apoyo de desplazamiento anidado en API 21, que podría tratar de habilitar con setNestedScrollingEnabled(true)
, pero que, obviamente, sólo funcionará en Lollipop y versiones más recientes.
Más información aquí: ScrollingViewBehavior para ListView
Estoy recibiendo el mismo problema donde parte de mi listview se superpone con la barra de herramientas. Puedo hacer que funcione en android 4.4.4 (Kitkat), pero el problema no se pudo resolver en Android 5.1 (Lolipop) Así que, aquí está mi solución para resolver este problema
Layout / activity_main.xml
<include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" />
El error que hice fue que, agregando el listview en activity_main.xml que no deberíamos añadir instated debemos añadir listview en app_bar_main.xml
layout / app_bar_main.xml
<?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:fitsSystemWindows="true" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" android:layout_width="match_parent" 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" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/AartilistView" android:layout_below="@+id/textView" android:layout_alignParentStart="true" android:layout_marginTop="?android:attr/actionBarSize" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="16dp" android:src="@android:drawable/ic_dialog_email" /> </android.support.design.widget.CoordinatorLayout>
Otros archivos que contienen el código son layout / nav_header_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="190dp" android:background="@drawable/background_material_red" android:orientation="vertical" > <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/profile_image" android:layout_width="70dp" android:layout_height="70dp" android:src="@drawable/logo" app:border_color="#FF000000" android:layout_marginLeft="24dp" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginStart="24dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name" android:textSize="14sp" android:textColor="#FFF" android:textStyle="bold" android:gravity="left" android:paddingBottom="4dp" android:id="@+id/username" android:layout_above="@+id/email" android:layout_alignLeft="@+id/profile_image" android:layout_alignStart="@+id/profile_image" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/email" android:id="@+id/email" android:gravity="left" android:layout_marginBottom="8dp" android:textSize="14sp" android:textColor="#fff" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/username" android:layout_alignStart="@+id/username" /> </RelativeLayout>
layout / item_view.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/icon_image" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:src="@drawable/img" android:maxHeight="80dp" android:maxWidth="80dp" android:longClickable="false" android:adjustViewBounds="true" android:paddingTop="10dp" android:paddingBottom="10dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Description" android:id="@+id/icon_text" android:layout_alignBottom="@+id/icon_image" android:layout_toEndOf="@+id/icon_image" android:layout_alignParentEnd="false" android:layout_alignParentStart="false" android:paddingBottom="20dp" android:paddingLeft="20dp" /> </RelativeLayout>
menu / activity_main_drawer.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_info_details" android:icon="@drawable/ic_menu_info_details" android:title="About us" /> <item android:id="@+id/nav_rate" android:icon="@drawable/ic_menu_star" android:title="Rate App" /> <item android:id="@+id/nav_share" android:icon="@drawable/ic_menu_share" android:title="Share App" /> <item android:id="@+id/nav_facebook" android:icon="@drawable/ic_menu_fb" android:title="Follow me on Facebook" /> </group> <item android:title="Communicate"> <menu> <item android:id="@+id/nav_whatsapp" android:icon="@drawable/ic_menu_whatsapp" android:title="Whatsapp us to share your" /> <item android:id="@+id/nav_email" android:icon="@drawable/sym_action_email" android:title="Tell us how you feel about App" /> </menu> </item> </menu>
asegúrese de crear el proyecto y luego ejecutarlo. No agregue su listview en activity_main.xml en lugar de añadirlo en app_bar_main.xml que incluirá en activity_main.xml de todos modos.
Puedes agregar un relleno a la Toolbar
usando
android:paddingBottom="5dp"
Eso debería añadir algo de espacio entre los dos elementos
- Cómo utilizar la intención en la clase baseadapter
- En preferencias compartidas, cómo almacenar array de cadena en la aplicación android