SwipeRefreshLayout est caché derrière ActionBar avec des barres d'état transparentes

J'ai de la difficulté à faire apparaître mon SwipeRefreshLayout lors de l'utilisation de la navigation transparente et des barres d'état (API Level 19). C'est-à-dire, c'est actuellement sous la barre d'état (en haut de l'écran), quand je veux que ce soit sous la barre d'action.

Le ListView fonctionne comme prévu. C'est-à-dire que le contenu est correctement affiché derrière les barres de navigation et ne se cache pas sous la barre d'état ou dans la barre d'action.

  • SVN et mise en surbrillance de syntaxe sur Android
  • Perte d'état de la vue Fragment Android lors de l'utilisation de FragmentTransaction.replace ()
  • Comment afficher Toast dans une classe étendue par BaseAdapter Get View Method
  • Android - Comment créer l'ID de xml?
  • WebView à écran partiel avec <video> coupé en deux
  • Existe-t-il un moyen de mettre à jour plusieurs TextView avec ArrayAdapter?
  • Cela étant dit, si j'ajoute la propriété android: fitsSystemWindows = "true" à ma disposition relative, le SwipeRefreshLayout fonctionne correctement. Mais, ce faisant, ma liste n'est pas visible sous les barres de navigation transparentes. Au lieu de cela, les barres de navigation sont tout simplement la couleur de mon arrière-plan, et ne permettent pas que le contenu de ma liste s'affiche sous celle-ci.

    Comment puis-je obtenir le ListView pour rester comment il est maintenant, et aussi obtenir mon SwipeRefreshLayout pour être visible (au lieu d'être caché sous la barre d'état, en haut de l'écran)?

    Voici ma mise en page:

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingTop="10dp" android:background="#ccc" android:clipToPadding="false"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/container" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ccc"> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/listView" android:paddingTop="10dp" android:fitsSystemWindows="true" android:clipToPadding="false" android:divider="@android:color/transparent" android:layout_gravity="left|top" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="No Internet Connection" android:id="@+id/noInternet" android:textColor="@android:color/secondary_text_light" android:layout_gravity="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Pull To Refresh" android:translationY="20dp" android:id="@+id/nointernetSub" android:textColor="@android:color/secondary_text_light" android:layout_gravity="center" /> </FrameLayout> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout> <fragment android:id="@+id/navigation_drawer" android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" android:layout_gravity="start" android:name="com.package.app.NavigationDrawerFragment" tools:layout="@layout/fragment_navigation_drawer" /> </android.support.v4.widget.DrawerLayout> 

  • Android: obtenez un ID unique de notification
  • L'application Android se bloque sur addAccountExplicitly (compte, mot de passe, null);
  • Puis-je démarrerService à partir de l'application # onCreate ()?
  • Vérifier l'application Android est-elle au premier plan ou non?
  • Comment créer une page défilable de carrousels dans Android?
  • L'installation de l'application a échoué dans Android Studio
  • One Solution collect form web for “SwipeRefreshLayout est caché derrière ActionBar avec des barres d'état transparentes”

    Je vous recommande d'utiliser une marge

     android:layout_marginTop="?android:attr/actionBarSize" 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.