diff options
Diffstat (limited to 'library/main')
-rw-r--r-- | library/main/res/values/attrs.xml | 3 | ||||
-rw-r--r-- | library/main/src/com/android/setupwizardlib/GlifLayout.java | 19 |
2 files changed, 21 insertions, 1 deletions
diff --git a/library/main/res/values/attrs.xml b/library/main/res/values/attrs.xml index 42901c7..14799df 100644 --- a/library/main/res/values/attrs.xml +++ b/library/main/res/values/attrs.xml @@ -88,9 +88,10 @@ </declare-styleable> <declare-styleable name="SuwGlifLayout"> - <attr name="suwColorPrimary" /> <attr name="suwBackgroundPatterned" format="boolean" /> <attr name="suwBackgroundBaseColor" format="color" /> + <attr name="suwColorPrimary" /> + <attr name="suwFooter" format="reference" /> </declare-styleable> <declare-styleable name="SuwStatusBarBackgroundLayout"> diff --git a/library/main/src/com/android/setupwizardlib/GlifLayout.java b/library/main/src/com/android/setupwizardlib/GlifLayout.java index 037a148..667d699 100644 --- a/library/main/src/com/android/setupwizardlib/GlifLayout.java +++ b/library/main/src/com/android/setupwizardlib/GlifLayout.java @@ -31,6 +31,7 @@ import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.ViewStub; import android.widget.ProgressBar; import android.widget.ScrollView; import android.widget.TextView; @@ -123,6 +124,11 @@ public class GlifLayout extends TemplateLayout { a.getBoolean(R.styleable.SuwGlifLayout_suwBackgroundPatterned, true); setBackgroundPatterned(backgroundPatterned); + final int footer = a.getResourceId(R.styleable.SuwGlifLayout_suwFooter, 0); + if (footer != 0) { + inflateFooter(footer); + } + a.recycle(); } @@ -142,6 +148,19 @@ public class GlifLayout extends TemplateLayout { return super.findContainer(containerId); } + /** + * Sets the footer of the layout, which is at the bottom of the content area outside the + * scrolling container. The footer can only be inflated once per layout. + * + * @param footer The layout to be inflated as footer. + * @return The root of the inflated footer view. + */ + public View inflateFooter(@LayoutRes int footer) { + ViewStub footerStub = (ViewStub) findManagedViewById(R.id.suw_layout_footer); + footerStub.setLayoutResource(footer); + return footerStub.inflate(); + } + public ScrollView getScrollView() { final View view = findManagedViewById(R.id.suw_scroll_view); return view instanceof ScrollView ? (ScrollView) view : null; |