ActionBar标签重量/宽度

时间:2012-02-02 12:41:20

标签: android tabs android-actionbar actionbarsherlock

我有一个操作栏,里面有3个标签。 它看起来像这样:        |全部|电话|网络|  我希望它们具有相同的宽度。我该怎么办?

3 个答案:

答案 0 :(得分:2)

您可以使用ActionBar.Tab上的setCustomView()方法将标记设置为任何视图。这就是我做到的。自定义视图从布局中加载,在我的情况下类似于ActionBar.Tag使用的内置布局,您可以将边距,大小和内容设置为您需要的任何内容。

答案 1 :(得分:0)

它们都在具有相同宽度的行中对齐

<?xml version="1.0" encoding="utf-8"?>
<TabHost 
 xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"  >
<LinearLayout
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
<HorizontalScrollView 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:fillViewport="true"
   android:scrollbars="none">
<TabWidget 
   android:id="@android:id/tabs"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"/>
 </HorizontalScrollView>
 <FrameLayout
   android:id="@android:id/tabcontent"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent" />
 </LinearLayout>
</TabHost>

然后将标签主机设置为

  TabHost tabHost;
TabHost.TabSpec spec;
tabHost=getTabHost()
Intent intent;
 intent=new Intent().setClass(this, BirthDayTab.class);
 spec=tabHost.newTabSpec("artists").setIndicator("BirthDay",res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent);
 tabHost.addTab(spec);

答案 2 :(得分:-1)

https://groups.google.com/forum/#!topic/actionbarsherlock/4oT9KwhB0O8 这是我一直在寻找的确切解决方案