web-dev-qa-db-fra.com

Android - onglets similaires à Google Play

Google vient de mettre en place un nouveau look à leurs onglets dans Google Play.

Je sais que cela peut être fait avec ViewPagerIndicator, mais je ne voudrais pas utiliser une autre bibliothèque dans mon application et augmenter la taille de l'application d'un autre Mo environ.

J'utilise actuellement Android.support.v4.view.PagerTabStrip (comme dans l'ancien Google Play), et je me demande si le nouveau look peut également être mis en œuvre en utilisant la bibliothèque de support Android Android .

Merci d'avance.

27
MrByte

Bibliothèque de support de conception (méthode actuelle).

La bibliothèque de support de conception comprend le widget TabLayout qui vous permet d'implémenter un onglet Google Play-lie:

<Android.support.design.widget.TabLayout
    Android:id="@+id/tabs"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content" />

puis l'initialiser:

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);

Pour un exemple complet, voir application Cheesesquare

Bibliothèque PagerSlidingTabStrip

Il s'agit d'une bibliothèque prête à l'emploi que vous pouvez trouver sur Github .

ScreenshotScreenshot

52
rciovati

Google a finalement publié son api à onglets coulissants.

Pour utiliser SlidingTabsBasic, vous devez d'abord télécharger le fichier Zip à partir de: http://developer.Android.com/downloads/samples/SlidingTabsBasic.Zip

  1. Incluez les 2 fichiers source Java dans le package com.example.Android.common.view dans votre projet. Vous pouvez choisir de les déplacer vers un package approprié dans votre projet.
  2. Pour utiliser le composant, ajoutez-le simplement à votre hiérarchie de vues. Ensuite, dans votre activité ou fragment, fournissez le SlidingTabsBasic à votre viewPager en appelant mSlidingTabLayout.setViewPager (mViewPager);

Exemple de mise en page de Google:

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
      Android:layout_width="match_parent"
      Android:layout_height="match_parent"
      Android:orientation="vertical">

    <com.example.Android.common.view.SlidingTabLayout
          Android:id="@+id/sliding_tabs"
          Android:layout_width="match_parent"
          Android:layout_height="wrap_content" />

    <Android.support.v4.view.ViewPager
          Android:id="@+id/viewpager"
          Android:layout_width="match_parent"
          Android:layout_height="0px"
          Android:layout_weight="1"
          Android:background="@Android:color/white"/>

</LinearLayout>

Exemple de code dans la méthode onCreate () de votre activité:

mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(mViewPager);

Pour plus de détails, suivez l'exemple dans les fichiers Zip SlidingTabsBasicFragment.Java et fragment_sample.xml

34
Tianhai

essayez ceci bibliothèque

exemple de projet

Il utilise ViewPager avec fragment pour afficher les onglets comme sur google play.

1
Shruti