diff --git a/library/src/com/manuelpeinado/fadingactionbar/FadingActionBarHelperBase.java b/library/src/com/manuelpeinado/fadingactionbar/FadingActionBarHelperBase.java index 55ac9aa..2ed778e 100644 --- a/library/src/com/manuelpeinado/fadingactionbar/FadingActionBarHelperBase.java +++ b/library/src/com/manuelpeinado/fadingactionbar/FadingActionBarHelperBase.java @@ -121,9 +121,6 @@ public final View createView(LayoutInflater inflater) { if (mContentView == null) { mContentView = inflater.inflate(mContentLayoutResId, null); } - if (mHeaderView == null) { - mHeaderView = inflater.inflate(mHeaderLayoutResId, null, false); - } // // See if we are in a ListView, WebView or ScrollView scenario @@ -223,7 +220,7 @@ private View createWebView() { mHeaderContainer = (FrameLayout) webViewContainer.findViewById(R.id.fab__header_container); initializeGradient(mHeaderContainer); - mHeaderContainer.addView(mHeaderView, 0); + addHeaderView(mHeaderContainer, mHeaderLayoutResId); mMarginView = new FrameLayout(webView.getContext()); mMarginView.setBackgroundColor(Color.TRANSPARENT); @@ -244,7 +241,8 @@ private View createScrollView() { contentContainer.addView(mContentView); mHeaderContainer = (FrameLayout) scrollViewContainer.findViewById(R.id.fab__header_container); initializeGradient(mHeaderContainer); - mHeaderContainer.addView(mHeaderView, 0); + addHeaderView(mHeaderContainer, mHeaderLayoutResId); + mMarginView = (FrameLayout) contentContainer.findViewById(R.id.fab__content_top_margin); return scrollViewContainer; @@ -262,7 +260,7 @@ private View createListView(ListView listView) { mHeaderContainer = (FrameLayout) contentContainer.findViewById(R.id.fab__header_container); initializeGradient(mHeaderContainer); - mHeaderContainer.addView(mHeaderView, 0); + addHeaderView(mHeaderContainer, mHeaderLayoutResId); mMarginView = new FrameLayout(listView.getContext()); mMarginView.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, 0)); @@ -352,4 +350,11 @@ private void initializeGradient(ViewGroup headerContainer) { } gradientView.setBackgroundResource(gradient); } + + private void addHeaderView(ViewGroup headerContainer, int headerLayoutResId){ + if (mHeaderView == null) { + mHeaderView = mInflater.inflate(headerLayoutResId, headerContainer, false); + } + headerContainer.addView(mHeaderView, 0); + } }