Dim*_*lov 13 android android-design-library androiddesignsupport android-tablayout
TabLayout设置有ViewPager,有很多标签MODE_SCROLLABLE和keyline app:tabContentStart="72dp".
当用户选择选项卡时,TabLayout尝试将所选选项卡滚动到中心.我希望选中的选项卡与keyline保持对齐,而不是居中.可能吗?
Android设计支持库v22.2.0.
不幸的是calculateScrollXForTab(),TabLayout 的方法是私有的,然后不能被子类替换.无论哪种方式,您都可以在项目中复制源TabLayout,然后可以使用您的类扩展它,并更改方法,calculateScrollXForTab()如下所示:
private int calculateScrollXForTab(int position, float positionOffset) {
if (mMode == MODE_SCROLLABLE) {
View final selectedChild = mTabStrip.getChildAt(position);
// LoG.i ("scrollTo" String.valueOf ((int) selectedChild.getLeft()));
return (int) selectedChild.getLeft();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这将返回所选选项卡左侧的限制值,然后强制滚动到该值.如果选择,最右边的标签将保持固定在适当的位置,因为滚动将滚动夹到儿童的边界.
我尝试了它并且它有效,虽然我必须解决两个问题,在android.support.v7.internal.widget中找不到一个CompatTextView setupWithViewPager(),并且我可以使用的源中不存在的方法(我认为是版本问题)
| 归档时间: |
|
| 查看次数: |
2564 次 |
| 最近记录: |