2016-10-05 5 views

답변

2
public class CenteringTabLayout extends TabLayout { 
private Typeface mTypeface; 

public CenteringTabLayout(Context context) { 
    super(context); 
} 

public CenteringTabLayout(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public CenteringTabLayout(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
} 



@Override 
protected void onLayout(boolean changed, int l, int t, int r, int b) { 
    super.onLayout(changed, l, t, r, b); 
    View firstTab = ((ViewGroup) getChildAt(0)).getChildAt(0); 
    View lastTab = ((ViewGroup) getChildAt(0)).getChildAt(((ViewGroup) getChildAt(0)).getChildCount() - 1); 
    if(firstTab!=null) 

    ViewCompat.setPaddingRelative(getChildAt(0), (getWidth()/2) - (firstTab.getWidth()/2), 0, (getWidth()/2) - (lastTab.getWidth()/2), 0); 

} 

@Override 
public void addOnTabSelectedListener(@NonNull OnTabSelectedListener listener) { 
    super.addOnTabSelectedListener(listener); 

} 

@Override 
public void addTab(@NonNull Tab tab) { 
    super.addTab(tab); 
    ViewGroup mainView = (ViewGroup) getChildAt(0); 
    ViewGroup tabView = (ViewGroup) mainView.getChildAt(tab.getPosition()); 

    int tabChildCount = tabView.getChildCount(); 
    for (int i = 0; i < tabChildCount; i++) { 
     View tabViewChild = tabView.getChildAt(i); 
     if (tabViewChild instanceof TextView) { 
      ((TextView) tabViewChild).setTypeface(mTypeface, Typeface.NORMAL); 
     } 
    } 
} 
} 

당신의 자바 클래스에이 센터링 tablayout을 붙여 넣습니다. 사용

0

당신의 XML 디자인에 tablayput 대신 tablayout 중심으로 나는 또한 확인이 BottomBar

<com.roughike.bottombar.BottomBar 
     android:id="@+id/bottomBar" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:layout_alignParentBottom="true" 
     app:bb_tabXmlResource="@xml/bottombar_tabs" /> 

enter image description here

또는

를 사용하는 것이 좋습니다 BottomNavigation

<it.sephiroth.android.library.bottomnavigation.BottomNavigation 
     android:id="@+id/BottomNavigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     app:bbn_entries="@menu/bottombar_menu_4items" 
     app:bbn_scrollEnabled="true" 
     app:bbn_badgeProvider="@string/bbn_badgeProvider" 
     app:layout_behavior="@string/bbn_phone_view_behavior" /> 
+0

매우 좋지만 원하는 결과를 얻을 수 있도록 – Bhupendra

+0

을 만들고 싶었습니다. –

관련 문제