我看了所有的计算器的主题吧,和这些解决方案 - 像这样的:
<style name="Widget.Holo.Tab" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
<item name="android:height">#dp</item>
</style>
<style name="Your.Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/Widget.Holo.Tab</item>
</style>
http://stackoverflow.com/questions/9286638/actionbar-tabs-height
这改变了什么 - (都未)帮助了我。
我有5个选项卡,没有所有权,只是图标,但我需要的是在同一时间所有可见的,所以它必须要小,适合所有。 我怎样才能让标签有多大?
改变你的身高ActionBar
更改标签尺寸:
<item name="android:actionBarSize">#dp</item>
希望这可以帮助。
编辑:
也许你可以自己定制的TabBar与ImageViews
,见下图:
<!-- Tab Nav -->
<TableLayout
android:id="@+id/TabNavMain"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="0dip"
android:stretchColumns="5" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_horizontal"
android:weightSum="5">
<ImageView
android:id="@+id/TabNav1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onNavSelected"
android:clickable="true" />
<ImageView
android:id="@+id/TabNav2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onNavSelected"
android:clickable="true" />
<ImageView
android:id="@+id/TabNav3"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onNavSelected"
android:clickable="true" />
<ImageView
android:id="@+id/TabNav4"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onNavSelected"
android:clickable="true" />
<ImageView
android:id="@+id/TabNav5"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onNavSelected"
android:clickable="true" />
</TableRow>
</TableLayout>
<!-- End Tab Nav -->
而在你的Activity
,你可以做一个NavListener
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
NavListener navListener = new NavListener();
}
private class NavListener implements View.OnClickListener {
@Override
public void onNavSelected(View v) {
switch (v.getId()) {
case R.id.TabNav1:
// do something...
break;
case R.id.TabNav2:
// do something else...
break;
case R.id.TabNav3:
// do something...
break;
// ...
}
}
};
希望这会有所帮助。