tablayout 均分
时间: 2023-08-24 11:09:45 浏览: 61
要让TabLayout实现均分效果,可以使用`app:tabMode="fixed"`和`app:tabGravity="fill"`两个属性,代码如下:
```xml
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"/>
```
其中,`app:tabMode="fixed"`表示固定模式,`app:tabGravity="fill"`表示填充模式。这两个属性的组合可以让TabLayout中的每个Tab item均分TabLayout的宽度。
相关问题
TabLayout能否实现不满一屏均分,超过一屏滑动
可以实现。在TabLayout的属性中,有一个叫做`tabMode`的属性。该属性用于定义选项卡的模式,有两个可选值:`MODE_FIXED`和`MODE_SCROLLABLE`。其中,`MODE_FIXED`是固定模式,选项卡的宽度会均分整个TabLayout的宽度,如果超过一屏,则会出现滑动条。而`MODE_SCROLLABLE`是滚动模式,选项卡的宽度不固定,可以根据选项卡的内容自适应宽度,如果超过一屏,则可以通过手指滑动来查看其他选项卡。
因此,如果想要实现不满一屏均分,超过一屏滑动的效果,只需要将`tabMode`属性设置为`MODE_SCROLLABLE`即可。同时,可以通过其他属性来调整选项卡的样式和行为,以满足自己的需求。
tablayout 垂直
要实现 TabLayout 垂直显示,可以通过设置 TabLayout 的 layout_gravity 属性来实现。具体步骤如下:
1. 在布局文件中,将 TabLayout 和 ViewPager 包含在一个父容器中,例如 LinearLayout。
2. 设置 LinearLayout 的方向为水平方向。
3. 设置 TabLayout 的 layout_gravity 属性为 left 或 right。
4. 设置 TabLayout 的 app:tabMode 属性为 scrollable,表示可以滚动。
5. 设置 TabLayout 的 app:tabGravity 属性为 fill,表示 Tab 均分 LinearLayout。
示例代码如下:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
app:tabMode="scrollable"
app:tabGravity="fill" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
```
注意:这里的示例代码使用的是 Support Library,如果使用的是 AndroidX,需要将包名从 android.support 改为 androidx。
阅读全文