TabLayout,design包的控件猛频;
對(duì)于設(shè)置TabLayout里面的Tab位置狮崩,樓主在網(wǎng)上查了一下,
一般是結(jié)合Viewpage來(lái)設(shè)置鹿寻,
或者是寫(xiě)算法睦柴,算長(zhǎng)度;
看了一下TabLayout的有關(guān)方法毡熏,樓主覺(jué)得這個(gè)方法挺好使的坦敌;
在此貢獻(xiàn)一下:
/**
* 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}.
* <p>
* 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);
}
用有道翻譯了一下;
設(shè)置滾動(dòng)標(biāo)簽的位置痢法。這是有用的,當(dāng)標(biāo)簽被顯示為
*部分滾動(dòng)容器如{ @link android.support.v4.view.ViewPager }狱窘。
* < p >
*調(diào)用該方法不會(huì)更新選中的選項(xiàng)卡,這只是用于繪畫(huà)。
* @param position 當(dāng)前滾動(dòng)的位置
* @param positionOffset值(0,1)指示} { @code位置的偏移量财搁。
* @param updateSelectedText是否更新文本的選擇狀態(tài)蘸炸。
* /
然后使用的時(shí)候,并不能這么玩尖奔;
position :0搭儒;起始值;
positionOffset:10提茁;從0開(kāi)始淹禾,往右邊數(shù)第幾個(gè)-1;tablayout是從0開(kāi)始算的茴扁;
updateSelectedText true铃岔;就是tab是否變顏色,是否有下劃線丹弱,滑過(guò)去德撬;
正確的 上Tablayout姿勢(shì):
tablayout.setScrollPosition(0, indexTabTag, true);
這個(gè)樓主在項(xiàng)目中的使用場(chǎng)景,用的EventBus切換fragment之后躲胳,再延遲1秒蜓洪,再發(fā)送切換Tablayout的Tab;
所以會(huì)有一點(diǎn)延遲坯苹;
9999.gif