1

Я изучаю способ вывести указатель табуляции TabLayout в CoordinatorLayout при прокрутке вниз.Может ли индикатор выбора вкладок TabLayout быть прикреплен к верхней части экрана во время прокрутки?

Если я добавляю флаг scroll|enterAlwaysCollapsed в TabLayout, то сам таблеток исчезает при прокрутке вниз. Я хочу, чтобы индикаторная панель вкладок была прикреплена к верхней части экрана.

Есть ли способ реализовать это?

enter image description here

+0

Установите minHeight of CollapsingToolbarLayout на высоту индикатора (например, 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

Вы должны предоставить свой обычай Behavior для вашего TabLayout или AppBarLayout (только если TabLayout является единственным ребенком AppBarLayout), где вы будете переводить у из TabLayout в -mTabLayout.getHeight() + mTabIndicatorHeight. Вы должны сделать то же самое, если поедете с офсайтом сверху и снизу.

В настоящее время TabLayout не имеет @DefaultBehavior и переведено поведением AppBarLayout. Короткая верхняя и нижняя офсетная на общую величину диапазона прокрутки (сумма высот представлений, имеющих флаги прокрутки).

+0

Спасибо за ваш ответ. Но я не могу понять это. Сожалею. Не могли бы вы дать мне больше намеков? – bestofbest1