设置标签的宽度

时间:2014-01-21 14:57:17

标签: android tabs width tabbar

我发现了很多关于这个主题的问题,但没有合适的答案。所以我不得不再问同样的问题......

tabs

我有Fragment我在其中显示两个Tabs。在智能手机设备上一切都很好。就像我想的那样。但是在平板电脑上(或者通常在大屏幕上),两个Tabs居中,有两个“间隙”,左侧是Tabs的右侧。 现在我想摆脱这些差距。我最喜欢的解决方案是拉伸Tabs以覆盖整个屏幕宽度。如果那是不可能的,我至少想要改变TabBar的颜色。

我像这样创建和添加我的标签(我省略了文本和TabListener的创建和分配):

Tab tabA;
Tab tabB;

final ActionBar myActionBar = ((ActionBarActivity) getActivity()).getSupportActionBar();
myActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

myActionBar.addTab(tabA);
myActionBar.addTab(tabB);

当我尝试这样的事情时

myActionBar.getTabAt(0).getCustomView().getLayoutParams().width = 200;

我总是有一个NullPonterException。我还尝试使用CustomView作为选项卡。我创建了一个新的TabWidget.xml,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<TabWidget xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="250dip"
    android:layout_height="match_parent" 
    >

</TabWidget>

但没有机会。标签大小不会改变。

2 个答案:

答案 0 :(得分:1)

刚发现这篇文章:Stacked ActionBar tab bar not filling parent

似乎无法将Tab宽度更改为更大的160倾角值。所以目前我必须使用计划b并更改TabBar的颜色。

答案 1 :(得分:0)

尝试使用背景图像放置图像视图而不是标签