Comment mettre RelativeLayout à l'intérieur de CoordinatorLayout

J'essaie de recréer le champ de recherche tel qu'il se trouve dans l'application Android Airbnb. Donc, j'utilise CoorinatorLayout avec Toolbar et RecyclerView .

Mais quand j'insère quelque chose à l'intérieur du Coordinateur en dehors de ces deux choses, cela ne se manifeste pas. Voici mon code:

  • AlertDialog Android avec vue personnalisée: obtenez des données d'entrée
  • Comment trouver une tablette ou un téléphone dans Android, par programme?
  • Comment mettre à niveau appengine-java-sdk installé dans le dossier .gradle
  • Icônes du menu
  • ProgressDialog ne fonctionne pas dans AsyncTask externe
  • Est-ce que cela sauvera beaucoup de mémoire en utilisant des images à 9 patchs?
  • <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/red" app:layout_scrollFlags="scroll|enterAlways" /> </android.support.design.widget.AppBarLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_marginRight="50dp" android:layout_marginTop="20dp" android:background="@drawable/rounded_background" android:orientation="horizontal" android:padding="6dp" app:layout_scrollFlags="scroll|enterAlways"> <EditText android:id="@+id/search" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="6" android:background="@null" android:fontFamily="sans-serif-light" android:hint="Unesite grad" android:paddingLeft="16dp" android:paddingStart="16dp" /> <ImageView android:id="@+id/cancelSearch" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:padding="10dp" android:src="@drawable/ic_cancel" /> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_below="@id/appbar" android:background="#ffffff" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    Mais en fait, si cela a même fonctionné, j'aurais du mal à placer la boîte de recherche au-dessus de RecyclerView.

    J'ai essayé de tout mettre dans RelativeLayout mais cela n'a pas marché.

    Voici la photo de ce que j'essaie de faire Entrez la description de l'image ici

    MODIFIER:

    Voici le code avec RelativeLayout

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:background="#00000000"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/red" app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.AppBarLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_marginRight="50dp" android:layout_marginTop="20dp" android:background="@drawable/rounded_background" android:orientation="horizontal" android:padding="6dp" app:layout_scrollFlags="scroll|enterAlways"> <EditText android:id="@+id/search" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="6" android:background="@null" android:fontFamily="sans-serif-light" android:hint="Unesite grad" android:paddingLeft="16dp" android:paddingStart="16dp" /> <ImageView android:id="@+id/cancelSearch" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:padding="10dp" android:src="@drawable/ic_cancel" /> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_below="@id/appbar" android:background="#ffffff" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </RelativeLayout> 

  • Obtenez le type de courrier électronique et l'identifiant du type de numéro de téléphone utilisé pour l'Android
  • Définir ImageView largeur et hauteur par programme sur un widget
  • Changements d'autorisations nécessitant une mise à jour manuelle
  • Qu'est-ce que l'ellipsize signifie chez Android?
  • L'autorisation a-t-elle été refusée (manquant l'autorisation de l'INTERNET?): Mais la permission est donnée
  • Ouvrez le clavier doux par programme
  • 2 Solutions collect form web for “Comment mettre RelativeLayout à l'intérieur de CoordinatorLayout”

    J'essayais de faire quelque chose d'un peu semblable, mais avec une bannière publicitaire en bas de l'écran. Ma solution était d'envelopper le RelativeLayout dehors de CoordinatorLayout comme tel:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/ad_view"> <android.support.design.widget.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.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/my_list_view" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> <com.google.android.gms.ads.AdView android:id="@+id/ad_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:layout_gravity="center|bottom" app:adSize="SMART_BANNER" app:adUnitId="@string/admob_id" /> </RelativeLayout> 

    La barre d'outils se cache correctement lors du défilement à l'intérieur de RecyclerView et tout semble fonctionner très bien. J'imaginerais que si vous suiviez un principe similaire, vous devriez être à votre entière disposition.

    Si vous souhaitez supprimer la couleur blanche de la barre d'état, vous devez supprimer la ligne suivante

     <item name="android:statusBarColor">@android:color/transparent</item>` 

    Dans v21/styles.xml

    Merci, par exemple.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.