如何调整动作条选项卡(How to resize actionbar tabs)

2019-11-02 15:35发布

我看了所有的计算器的主题吧,和这些解决方案 - 像这样的:

<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个选项卡,没有所有权,只是图标,但我需要的是在同一时间所有可见的,所以它必须要小,适合所有。 我怎样才能让标签有多大?

Answer 1:

改变你的身高ActionBar更改标签尺寸:

<item name="android:actionBarSize">#dp</item>

希望这可以帮助。


编辑:

也许你可以自己定制的TabBarImageViews ,见下图:

<!-- 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;
            // ...
         }
    }
};  

希望这会有所帮助。



文章来源: How to resize actionbar tabs