web-dev-qa-db-ja.com

Google Playのようなタブで水平スクロールを有効にする方法は?

マテリアルデザインに関して、素晴らしい デモはこちら を参照しています。タブがありますが、追加しすぎるとタブ項目がつぶれてしまいます(スクリーンショットを参照)。どうすれば水平にスクロールできますか?

enter image description here

私は以下を変更すべきレイアウトだと信じていますが、ドキュメントをとかすとそれを得ることができないようです、plsは助けて!

<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/main_content"
    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.support.v7.widget.Toolbar
            Android:id="@+id/toolbar"
            Android:layout_width="match_parent"
            Android:layout_height="?attr/actionBarSize"
            Android:background="?attr/colorPrimary"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_scrollFlags="scroll|enterAlways" />

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

    </Android.support.design.widget.AppBarLayout>

    <Android.support.v4.view.ViewPager
        Android:id="@+id/viewpager"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <Android.support.design.widget.FloatingActionButton
        Android:id="@+id/fab"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="end|bottom"
        Android:layout_margin="@dimen/fab_margin"
        Android:src="@drawable/ic_done" />

</Android.support.design.widget.CoordinatorLayout>
35
TruMan1

TabLayoutにはメソッド setTabMode() があり、MODE_FIXED(デフォルト)またはMODE_SCROLLABLEのいずれかが必要です。

app:tabMode="scrollable"を使用してこれをXMLで定義することもできます。

107
Lamorak

これを追加できますapp:tabMode="scrollable"あなたのAndroid.support.design.widget.TabLayout

3
Exel Staderlin

SlidingTabLayoutおよびSlidingTabStripクラスは、あなたが探しているものですGoogle開発者サイトからこれらのクラスをコピーし、xmlにスライディングタブレイアウトを追加し、Javaのスライディングタブレイアウト用にset viewpagerに追加する必要があります。それが役立つことを願っています。

0