2016-12-12 4 views
0

Я создаю TabLayout с 5 вкладками. Я хочу создать меню, подобное старой Instagram. Итак, для третьей вкладки мне нужен пользовательский вид, поэтому у меня будет другой цвет фона. Что я не сделал до сих пор это:Пользовательская вкладка Android Не имеет правильных размеров

View view1 = getLayoutInflater().inflate(R.layout.custom_tab, null); 
    view1.findViewById(R.id.icon).setBackgroundResource(R.drawable.profile_btn); 


    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.home_btn)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.tools_btn)); 
    tabLayout.addTab(tabLayout.newTab().setCustomView(view1)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.countdown_btn)); 
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.user_btn)); 

Однако у меня нет ожидаемого результата. Это то, что я имею в виду: Как видите, цвет фона, который я хочу, не заполняет всю ширину конкретной вкладки. TabLayout Custom Tab

Custom_tab.xml файл с помощью RelativeLayout, где я поставил цвет Б.Г., что в нем есть:

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/icon" 
    android:adjustViewBounds="true" 
    android:scaleType="centerCrop" 
    android:layout_centerInParent="true"/> 

ответ

0

При использовании метода по умолчанию tablayout.setIcon(), то вы должны использовать для всех вкладок.

tabLayout.addTab(tabLayout.newTab().setCustomView(view1)); 
tabLayout.addTab(tabLayout.newTab().setCustomView(view2)); 
tabLayout.addTab(tabLayout.newTab().setCustomView(view3)); 
tabLayout.addTab(tabLayout.newTab().setCustomView(view4)); 
tabLayout.addTab(tabLayout.newTab(.setCustomView(view5)); 

Тогда вы получите правильное измерение для всех вкладок.

+0

мой друг, я только что сделал это, но я не получил ожидаемого результата: / –

 Смежные вопросы

  • Нет связанных вопросов^_^