我发现了很多关于这个主题的问题,但没有有效的答案。所以我不得不再次问同样的问题......
我有一个 Fragment
,其中显示了两个 Tabs
。在智能手机设备上,一切看起来都很好。就像我想的那样。但是在平板电脑上(或者通常在更大的屏幕上),两个 Tabs
居中,在 Tabs
的左边和右边有两个“间隙”。
现在我想摆脱这些差距。我最喜欢的解决方案是拉伸(stretch)两个 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>
但没有机会。标签大小不会改变。
最佳答案
刚刚找到这个帖子:Stacked ActionBar tab bar not filling parent
似乎无法将 Tab
宽度更改为更大的 160 dip 值。所以目前我必须使用计划 b 并更改 TabBar
的颜色。
关于android - 设置选项卡的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261564/