2016-07-17 4 views

ответ

0

Вы можете использовать настраиваемое представление

setCustomView.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="fitCenter" 
     android:id="@+id/icon" 
     android:layout_gravity="center_horizontal" /> 
</LinearLayout> 

Java код:

int[] icons = new int[]{R.drawable.my1, R.drawable.my2, R.drawable.my3}; 
View view = getLayoutInflater().inflate(R.layout.customtab, null); 
for (int i = 0; i < 3; i++) { 
     view.findViewById(R.id.icon).setBackgroundResource(icons[i]); 
     tabLayout.addTab(tabLayout.newTab().setCustomView(view)); 
} 
+0

Это добавит три новые вкладки с тремя иконками, но тексты. Я настроил TabLayout с помощью ViewPager, поэтому, как только программа запустится, вкладки, отображаемые в этом макете, будут заполнены из названий страниц адаптера ViewPager. У меня три бумаги, всего у меня есть до 6 вкладок. Как присоединиться к ним вместе? – helloworld

+0

Вы можете мне помочь? – helloworld

+0

Вы можете использовать foreach –

2

вы можете применить вас пользовательский макет в пределах цикл:

mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.searchpin)); 
mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.discussionpin)); 
mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.userpin)); 

for (int i = 0; i < mTabLayout.getTabCount(); i++) { 
    TabLayout.Tab tab = mTabLayout.getTabAt(i); 
    if (tab != null) tab.setCustomView(R.layout.view_home_tab); 
} 

Вот XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@android:id/icon" 
     android:layout_width="@dimen/tab_icon_size" 
     android:layout_height="@dimen/tab_icon_size" 
     android:layout_centerInParent="true"/> 

</RelativeLayout> 
Смежные вопросы