最近谷歌在android.support.design.widget.TabItem
supportDesign
添加了TabItems
,documentation说:
TabItem是一个特殊的视图'它允许您为其声明标签项 布局中的TabLayout。实际上并未添加此视图 TabLayout,它只是一个允许设置标签项的虚拟对象 文字,图标和自定义布局。
但是当我向TabLayout
添加 <android.support.design.widget.TabLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<android.support.design.widget.TabItem
android:text="@string/tab_text"/>
<android.support.design.widget.TabItem
android:icon="@drawable/ic_android"/>
</android.support.design.widget.TabLayout>
时:
TabItem
没有显示任何内容(实际上Tabs的位置存在,但Icon / Text不存在)。有没有人知道如何通过xml使用%p
I would like to make a #{link_to "link", foo_path} in my Rails app.
?
答案 0 :(得分:3)
根据this回答,带有tabLayout.setupViewPager
的TabItem发生冲突,图标消失。为了使它工作,你应该实现两个方法,如下面的,并避免使用setupViewPager
方法:
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
pager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
tabLayout.getTabAt(position).select();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
答案 1 :(得分:0)
您应该为TabItems设置这些属性
android:layout_width
android:layout_height
干杯