1

我正在調查在向下滾動的過程中將中的TabLayout選項卡指示符固定的方式。滾動時TabLayout的選項卡選擇指示器是否可以固定到屏幕的頂部?

如果我將scroll|enterAlwaysCollapsed標誌添加到TabLayout,則Tablayout本身在滾動時消失。我希望標籤指示條被固定到屏幕的頂部。

有沒有一種方法來實現這一點?

enter image description here

+0

將CollapsingToolbarLayout的minHeight設置爲指標的高度(例如4dp),並確保exitUntilCollapsed屬於其layout_scrollFlags屬性。 –

回答

0

我想你應該沒有任何標誌都沒有。您的佈局應是這樣的:

<CoordinatorLayout> 
    <AppBarLayout> 

     <Toolbar app:layout_scrollFlags="scroll|enterAlways" /> 
     <TabLayout/> 

    </AppBarLayout> 

    < /> <!-- ViewPager or other stuff --> 
</CoordinatorLayout> 

如果您分配scroll標誌的TabLayout將開始反應,滾動手勢和將移動/根據您的標誌進入/退出。據我瞭解你的問題,你不要要它移動,所以只需刪除標誌。

請參閱here以供參考。

+0

我想要tablayout移出,除了tablayout底部的指示條。 – bestofbest1

0

你應該提供您的自定義BehaviorTabLayoutAppBarLayout(僅當TabLayoutAppBarLayout的唯一的孩子),在那裏你會在TabLayout的y轉換爲-mTabLayout.getHeight() + mTabIndicatorHeight。如果你去掉頂部和底部,你也應該這樣做。

當前,TabLayout沒有@DefaultBehavior並且它是由AppBarLayout行爲翻譯的。這是滾動範圍總數(具有滾動標誌的視圖高度的總和)的平頂和底移。

+0

感謝您的回答。但是,我無法完全理解它。抱歉。你能給我更多提示嗎? – bestofbest1

相關問題