Подтвердить что ты не робот

Android - Google Play как вкладки

Google только что внедрил новый вид на свои вкладки в Google Play.

Я знаю, что это можно сделать с помощью ViewPagerIndicator, но я не хотел бы использовать другую библиотеку в своем приложении и увеличивать размер приложения на другой MB или около того.

В настоящее время я использую android.support.v4.view.PagerTabStrip(как в старой Google Play), и мне интересно, может ли новый вид также быть реализован с помощью библиотеки поддержки Android.

Спасибо заранее.

4b9b3361

Ответ 1

Библиотека поддержки проектирования (текущий метод).

Библиотека поддержки дизайна включает виджет TabLayout, который позволяет вам использовать вкладки Google Play-lie:

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

а затем инициализируйте его:

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

Для полного примера см. Приложение Cheesesquare

Библиотека PagerSlidingTabStrip

Это готовая к использованию библиотека, которую вы можете найти в Github.

ScreenshotScreenshot

Ответ 2

Google наконец выпустил свои скользящие вкладки api.

Чтобы использовать SlidingTabsBasic, вам сначала нужно скачать zip файл с: http://developer.android.com/downloads/samples/SlidingTabsBasic.zip

  • Включите 2 исходных файла java в пакет com.example.android.common.view в ваш проект. Вы можете переместить их в подходящий пакет в своем проекте.
  • Чтобы использовать компонент, просто добавьте его в свою иерархию представления. Затем в своей деятельности или фрагменте предоставьте SlidingTabsBasic ваш viewPager, позвонив mSlidingTabLayout.setViewPager(mViewPager);

Пример макета из 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>

Пример кода в методе onCreate() вашей деятельности:

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

Подробнее см. пример в zip файле SlidingTabsBasicFragment.java и fragment_sample.xml