Android - Google Play就像标签一样

MrB*_*yte 27 tabs android google-play

Google刚刚在Google Play中为其标签添加了新外观.

我知道这可以通过ViewPagerIndicator完成,但我不想在我的应用程序中使用另一个库,并将应用程序的大小提高到另一个MB左右.

我目前正在使用android.support.v4.view.PagerTabStrip(就像在旧的Google Play中一样),我想知道是否也可以使用android支持库实现新外观.

提前致谢.

rci*_*ati 53

设计支持库(当前方法).

设计支持库包含TabLayout允许您实现Google Play-lie选项卡的小部件:

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

然后初始化它:

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

有关完整示例,请参阅Cheesesquare应用程序

PagerSlidingTabStrip库

这是一个可以在Github上找到的即用型库.

截图 截图


Tia*_*hai 34

谷歌终于发布了他们的滑动标签api.

要使用SlidingTabsBasic,首先需要从http://developer.android.com/downloads/samples/SlidingTabsBasic.zip下载zip文件.

  1. 将com.example.android.common.view包中的2个java源文件包含到项目中.您可以选择将它们移动到项目中的合适包中.
  2. 要使用该组件,只需将其添加到视图层次结构中即可.然后在你的Activity或Fragment中,通过调用mSlidingTabLayout.setViewPager(mViewPager)为你的viewPager提供 SlidingTabsBasic;

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>
Run Code Online (Sandbox Code Playgroud)

您的Activity的onCreate()方法中的示例代码:

mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(mViewPager);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请按照zip文件SlidingTabsBasicFragment.java和fragment_sample.xml中的示例进行操作