写TabLayout的时候,发现如果一个Tab中的字很少,它的宽度会是下图这样的:虽然字很短,但是和右边的Tab几乎是一样宽的。
但是我想要每个Tab的文字看起来是等间距的。如下图的样子。
这时因为TabLayout的最小宽度比我想要的要宽。那就需要强行手动改一下Tab的最小间距了。
需要注意的是,还需要将tabMode设置为scrollable才能生效,fixed是不生效的。
代码如下。
重写下TabLayout:
package com.project.testtablayout
import android.content.Context
import android.util.AttributeSet
import androidx.annotation.AttrRes
import com.google.android.material.tabs.TabLayout
class MinSpacingTabLayout : TabLayout {
constructor(context: Context) : super(context) {
initMinWidth()
}
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
initMinWidth()
}
constructor(context: Context, attrs: AttributeSet?, @AttrRes defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
initMinWidth()
}
private fun