2016-10-05 40 views
0

enter image description here设计这样

我创造这样的形象,在点击它时,图标滚动到中心视图寻呼机指标视图寻呼机指标,我怎么能做到这一点,我试图查看传呼机指标和标签布局但没有成功。

回答

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粘贴到你的java类中。 使用您的XML设计

0

中心tablayout代替tablayput的,我建议你使用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

OR

还要检查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

所以你可以得到你想要的结果 –