我编写了这段代码,但是选项卡的布局不可滚动,而是所有选项卡都向左移动,但是视图分页器工作正常。
当我滚动viewpager时,选项卡项正在移动,我希望这些Tabitem应该可以使用TabLayout滚动。
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorblue"
app:tabGravity="center"
android:layout_gravity="center_horizontal"
app:tabMode="scrollable"
app:tabIndicatorColor="@color/colorgeydark"
app:tabSelectedTextColor="@color/colorwhite"
app:tabTextColor="@color/colorgeydark"
android:layout_marginTop="5.5dp"
app:tabBackground="@android:color/transparent"
app:tabContentStart="0dp"
/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tablayout"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
答案 0 :(得分:1)
您需要将tabLayout.TabLayoutOnPageChangeListener添加到viewPager,将TabLayout.OnTabSelectedListener添加到tabLayout
// kotlin样本
viewPager.addOnPageChangeListener(TabLayout.TabLayoutOnPageChangeListener(tabLayout))
tabLayout.addOnTabSelectedListener(TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
//here the view pager will change
viewPager.setCurrentItem(tab.position, false)
}
override fun onTabUnselected(tab: TabLayout.Tab) {
}
override fun onTabReselected(tab: TabLayout.Tab) {
}
})
答案 1 :(得分:0)
app:tabGravity="center"
仅适用于
app:tabMode="fixed"
因此,如果要使选项卡可滚动并居中对齐,则必须将选项卡模式设置为固定,否则选项卡将保持左对齐。