【问题标题】:Android Actionbar set width to the tabsAndroid Actionbar 为标签设置宽度
【发布时间】:2013-05-16 14:56:55
【问题描述】:

目前我正忙于为我的公司开发 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>

但是,当使用较大的负值时,宽度不会缩小。

【问题讨论】:

  • 大家好,您的问题解决了吗?请发布解决方案,因为我有同样的问题。谢谢

标签: android android-actionbar android-tabs


【解决方案1】:

您好,我认为这可能对您有所帮助...此代码实际上是使操作栏绑定到屏幕宽度,因此选项卡将自行调整 =)

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);
  }
}

【讨论】:

  • 这确实有效,结合this 使所有选项卡一次可见(我有 6 个),但我无法弄清楚如何在我花费的短暂时间内删除额外的填充所以我的图标很小。
【解决方案2】:

如果您需要“在一个屏幕上同时显示 5 个而不需要滚动”,最好在布局顶部使用 TabHost。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多