2016-10-17 7 views
1

タブが4の場合は動的にタブを追加しますが、タブが2または3の場合は親に一致するようになりません。タブを動的に変更すると、親に一致する幅が設定されない

コード

public void setUpTab(TabLayout tabLayout, String count, String typeId) { 

    TabLayout.Tab tab = tabLayout.newTab(); 

    RelativeLayout relativeLayout = (RelativeLayout) 
      LayoutInflater.from(this).inflate(R.layout.custom_tab, tabLayout, false); 
    TextView tabTextView = (TextView) relativeLayout.findViewById(R.id.txt_tab); 
    tabTextView.setText(count); 
    tab.setTag(typeId); 
    tab.setCustomView(tabTextView); 
    tabLayout.addTab(tab); 
} 

XMLコード:

<android.support.design.widget.TabLayout 
    android:id="@+id/tabsRoleType" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="@dimen/com_facebook_likeboxcountview_border_radius" 
    app:tabBackground="@drawable/tab_rounded_background" 
    app:tabGravity="fill" 
    app:tabIndicatorHeight="0dp" 
    app:tabSelectedTextColor="@color/WhiteColor" 
    app:tabTextAppearance="@style/TextAppearance.Design.Tab" 
    app:tabTextColor="@color/BlackColor" /> 

enter image description here

答えて

1

あるandroid:tabMaxWidthandroid:tabModeandroid:tabgravity

サンプルXMLコード追加:

<android.support.design.widget.TabLayout 
    android:id="@+id/tab" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?attr/actionBarSize" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:tabIndicatorColor="@color/colorPrimary" 
    app:tabIndicatorHeight="3dp" 
    app:tabMaxWidth="0dp" 
    app:tabGravity="fill" 
    app:tabMode="fixed" 
    app:tabSelectedTextColor="@color/colorPrimary" 
    app:tabTextAppearance="@style/TabLayoutTextStyle" 
    app:tabTextColor="@color/textCol" /> 
+0

私はそれをしようとするが、タブが4以上の場合は、それが適切でないことが表示されます。 –

+0

このリンクを参考にしてください[リンク] http://stackoverflow.com/questions/31448504/how-to-scroll-tablayout-programatically-android) –

+0

Ko Vartthanありがとう –

1

追加/更新XMLの行以下TabLayout

<android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMaxWidth="0dp" 
     app:tabGravity="fill" 
     app:tabMode="fixed" /> 

グッドプラクティスはapp:tabMode="scrollable"

+0

屋右私はそれを試してみたが、タブが4つ以上ある場合には表示されません適切な –

関連する問題