私は最近、タブ バーのカスタム レイアウトと寸法が必要な 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
ファイルでは 48 dp) に設定することで、アプリがポートレート モードのときに TabBar の高さを制限しているようです。 )、アクション バーの高さを に設定したにもかかわらずactionBarSize
。
自分のファイルで自分の値に設定して、このディメンション値を上書きしようとしましたdimen.xml
が、うまくいきませんでした。うまくいきませんでした。
私の質問:
「action_bar_stacked_max_height」の次元値をオーバーライドできる方法を知っていますか?
前もって感謝します!