我试图在我的项目中使用新的 Design TabLayout。我希望布局适应每个屏幕大小和方向,但它可以在一个方向正确地看到。
我正在处理重力和模式设置我的 tabLayout 为:
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
所以我希望如果没有空间,tabLayout 是可滚动的,但是如果有空间,它是居中的。
导游说:
Public static final int GRAVITY _ CENTER GRAVITY 用于布局 在 TabLayout 中心的选项卡。
用于填充 尽可能使用 TabLayout。此选项仅在使用时生效 具有 MODE _ FixED。
固定选项卡显示所有选项卡 并且最好与受益于快速 选项卡之间的枢轴。选项卡的最大数量受 视图的宽度。根据最宽的选项卡,固定选项卡的宽度相等 标签。
Public static final int MODE _ SCROLLABLE 可滚动选项卡显示 标签的子集,并且可以包含更长的标签 以及更多的选项卡。它们最适合用于浏览上下文 在触摸界面时,用户不需要直接比较标签 标签。
所以 GRAVITY _ FILL 只与 MODE _ Fixed 兼容,但是 at 没有为 GRAVITY _ CENTER 指定任何东西,我希望它与 MODE _ SCROLLABLE 兼容,但是这是我使用 GRAVITY _ CENTER 和 MODE _ SCROLLABLE 得到的
因此它在两个方向上都使用 SCROLLABLE,但是它没有使用 GRAVITY _ CENTER。
这就是我所期望的风景; 但是为了得到这个,我需要设置 MODE _ FIXED,所以我在肖像中得到的是:
如果 tabLayout 适合屏幕,为什么 GRAVITY _ CENTER 不适合 SCROLLABLE? 有没有办法动态设置重力和模式(看看我期望的是什么) ?
非常感谢!
编辑: 这是我的桌面布局:
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:background="@color/orange_pager"
android:layout_height="wrap_content" />