Android JellyBean のアクションバーの高さを変更する 質問する

Android JellyBean のアクションバーの高さを変更する 質問する

最近、Android アプリを開発していますが、タブ バーのカスタム レイアウトとサイズが必要です。これまでは、Jake Wharton の ActionBarSherlock ライブラリを使用して HoneyComb 以前の Android バージョンをサポートし、actionBarSize スタイル項目を編集してアプリにスタイルを適用していました。

現在、Galaxy S3 (Jellybean 搭載) でアプリをテストしていますが、タブ バーの高さは値に応じて変化しなくなりましたactionBarSize

そこで、JellyBean のコードを調べ始めたところ、ActionBarPolicyクラス内に次のメソッドが見つかりました。

    public int getTabContainerHeight() {
            TypedArray a = mContext.obtainStyledAttributes(null, R.styleable.ActionBar,
               com.android.internal.R.attr.actionBarStyle, 0);
            int height = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
            Resources r = mContext.getResources();
            if (!hasEmbeddedTabs()) {
                // Stacked tabs; limit the height
                height = Math.min(height,
                        r.getDimensionPixelSize(R.dimen.action_bar_stacked_max_height));
            }
            a.recycle();
            return height;
    }

この方法で収集した情報によると、アプリがポートレート モードの場合、アクション バーの高さを に設定しているにもかかわらず、JellyBean はタブ バーの高さを "action_bar_stacked_max_height" ディメンション値 (4.1 の/values/dimen.xmlファイルでは 48dp) に設定して TabBar の高さを制限しているようですactionBarSize

自分のファイルで自分の値に設定してこのディメンション値を上書きしようとしましたdimen.xmlが、うまくいきませんでした。機能しませんでした。

私の質問:

「action_bar_stacked_max_height」の寸法値を上書きする方法をご存知ですか?

よろしくお願いします!

ベストアンサー1

次のように、使用しているテーマの下にandroid:actionBarSizeとを入れてみてください。actionBarSize

<style name="Theme.white_style" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarSize">55dp</item>
        <item name="actionBarSize">55dp</item>
</style> 

おすすめ記事