ActionBar のタブは ScrollingTabContainerView です。
このコンストラクタで setContentHeight() を呼んで高さを設定しています。
高さには ActionBarPolicy の getTabContainerHeight() の値を指定しています。
http://tools.oesf.biz/android-4.2.0_r1.0/xref/frameworks/base/core/java/com/android/internal/widget/ScrollingTabContainerView.java#71
- 71 public ScrollingTabContainerView(Context context) {
- 72 super(context);
- 73 setHorizontalScrollBarEnabled(false);
- 74
- 75 ActionBarPolicy abp = ActionBarPolicy.get(context);
- 76 setContentHeight(abp.getTabContainerHeight());
- 77 mStackedTabMaxWidth = abp.getStackedTabMaxWidth();
- 78
- 79 mTabLayout = createTabLayout();
- 80 addView(mTabLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
- 81 ViewGroup.LayoutParams.MATCH_PARENT));
- 82 }
- 83
つまり、タブの高さは R.dimen.action_bar_stacked_max_height より大きくならないということです。
http://tools.oesf.biz/android-4.2.0_r1.0/xref/frameworks/base/core/java/com/android/internal/view/ActionBarPolicy.java#65
- 65 public int getTabContainerHeight() {
- 66 TypedArray a = mContext.obtainStyledAttributes(null, R.styleable.ActionBar,
- 67 com.android.internal.R.attr.actionBarStyle, 0);
- 68 int height = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
- 69 Resources r = mContext.getResources();
- 70 if (!hasEmbeddedTabs()) {
- 71 // Stacked tabs; limit the height
- 72 height = Math.min(height,
- 73 r.getDimensionPixelSize(R.dimen.action_bar_stacked_max_height));
- 74 }
- 75 a.recycle();
- 76 return height;
- 77 }
http://tools.oesf.biz/android-4.2.0_r1.0/xref/frameworks/base/core/res/res/values/dimens.xml#229
- 229 <!-- Maximum height for a stacked tab bar as part of an action bar -->
- 230 <dimen name="action_bar_stacked_max_height">48dp</dimen>
0 件のコメント:
コメントを投稿