Ширина привязки Android к вкладкам

В настоящее время я занят в приложении WHMCS для своей компании. В качестве навигации я хочу использовать функциональность Tab в панели действий.

Однако как вы можете изменить ширину вкладки? Мне нужно 5 вместе на одном экране без необходимости прокрутки. Я уже пробовал это с некоторыми стилями вроде этого:

<style name="AppBaseTheme" parent="android:Theme.Light"> </style> <style name="AppTheme" parent="AppBaseTheme"> <item name="@android:attr/actionBarTabStyle">@style/tab_nav</item> <item name="android:actionBarTabTextStyle">@style/actionBarTabTextStyle</item> </style> <style name="actionBarTabTextStyle" parent="android:Widget.Holo.Light.ActionBar.TabText.Inverse"> <item name="android:padding">1dp</item> </style> <style name="tab_nav" parent="android:style/Widget.Holo.Light.Tab"> <item name="android:paddingLeft">-25dp</item> </style> <style name="CustomTabTextStyle" parent="@android:style/TextAppearance.Holo"> <item name="android:textColor">#2456c2</item> </style> 

Однако при использовании более высокого отрицательного значения ширина не будет креветкой.

Привет, я думаю, это может помочь вам … Этот код фактически делает панель действий привязана к ширине экрана, поэтому вкладки будут настраиваться сами по себе =)

 private void setTabsMaxWidth() { DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int screenWidth = displaymetrics.widthPixels; final ActionBar actionBar = getActionBar(); final View tabView = actionBar.getTabAt(0).getCustomView(); final View tabContainerView = (View) tabView.getParent(); final int tabPadding = tabContainerView.getPaddingLeft() + tabContainerView.getPaddingRight(); final int tabs = actionBar.getTabCount(); for(int i=0 ; i < tabs ; i++) { View tab = actionBar.getTabAt(i).getCustomView(); TextView text1 = (TextView) tab.findViewById(R.id.text1); text1.setMaxWidth(screenWidth/tabs-tabPadding-1); } } 

Если вам нужно «5 вместе на одном экране без необходимости прокрутки», лучше используйте TabHost в верхней части макета.