Tablayout 设置 位置 默认位置 移动位置

TabLayout,design包的控件;
对于设置TabLayout里面的Tab位置,楼主在网上查了一下,
一般是结合Viewpage来设置,
或者是写算法,算长度;
看了一下TabLayout的有关方法,楼主觉得这个方法挺好使的;
在此贡献一下:

/**
   * Set the scroll position of the tabs. This is useful for when the tabs are being displayed as
   * part of a scrolling container such as {@link android.support.v4.view.ViewPager}.
   * 

* Calling this method does not update the selected tab, it is only used for drawing purposes. * * @param position current scroll position * @param positionOffset Value from [0, 1) indicating the offset from {@code position}. * @param updateSelectedText Whether to update the text's selected state. */ public void setScrollPosition(int position, float positionOffset, boolean updateSelectedText) { setScrollPosition(position, positionOffset, updateSelectedText, true); }

用有道翻译了一下;

设置滚动标签的位置。这是有用的,当标签被显示为
*部分滚动容器如{ @link android.support.v4.view.ViewPager }。
* < p >
*调用该方法不会更新选中的选项卡,这只是用于绘画。
* @param position  当前滚动的位置
* @param positionOffset值(0,1)指示} { @code位置的偏移量。
* @param updateSelectedText是否更新文本的选择状态。
* /

然后使用的时候,并不能这么玩;

position :0;起始值;
positionOffset:10;从0开始,往右边数第几个-1;tablayout是从0开始算的;
updateSelectedText true;就是tab是否变颜色,是否有下划线,滑过去;

正确的 上Tablayout姿势:
tablayout.setScrollPosition(0, indexTabTag, true);

这个楼主在项目中的使用场景,用的EventBus切换fragment之后,再延迟1秒,再发送切换Tablayout的Tab;
所以会有一点延迟;

Tablayout 设置 位置 默认位置 移动位置_第1张图片
9999.gif

你可能感兴趣的:(Tablayout 设置 位置 默认位置 移动位置)