[SetupWizardLib] Add no-scroll templates

Added the no-scroll templates to the library, usually for use with
views that handles its internal scrolling. Examples of this are
WebViews and RecyclerViews. Note that the phone portrait layout has
a caveat that the illustration will not scroll away.

Change-Id: I12701f6e2692d41d0488f7b579fb15e2b136100d
This commit is contained in:
Maurice Lam 2015-03-24 20:25:00 -07:00
parent cbce1423d8
commit 3348f05796
8 changed files with 266 additions and 0 deletions

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
RecyclerView. For other layouts that should be put inside a ScrollView, consider using
suw_template instead. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.android.setupwizardlib.view.Illustration
android:id="@+id/suw_layout_decor"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/suw_layout_background">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/suw_tablet_illustration_height"
android:orientation="vertical"
android:paddingLeft="@dimen/suw_card_port_margin_sides"
android:paddingRight="@dimen/suw_card_port_margin_sides">
<TextView
android:id="@+id/suw_layout_title"
style="@style/SuwCardTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/suw_layout_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="?attr/suwCardBackground"
android:elevation="@dimen/suw_card_elevation"
tools:ignore="UnusedAttribute" />
</LinearLayout>
</com.android.setupwizardlib.view.Illustration>
<com.android.setupwizardlib.view.NavigationBar
android:id="@+id/suw_layout_navigation_bar"
style="@style/SuwNavBarTheme"
android:layout_width="match_parent"
android:layout_height="@dimen/suw_navbar_height" />
</LinearLayout>

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
RecyclerView. For other layouts that should be put inside a ScrollView, consider using
suw_template instead. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.android.setupwizardlib.view.Illustration
android:id="@+id/suw_layout_decor"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/suw_layout_background">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="start|top"
android:weightSum="16">
<TextView
android:id="@+id/suw_layout_title"
style="@style/SuwCardTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/suw_tablet_illustration_height"
android:layout_weight="6" />
<FrameLayout
android:id="@+id/suw_layout_content"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/suw_card_land_margin_top"
android:layout_weight="8"
android:background="?attr/suwCardBackground"
android:elevation="@dimen/suw_card_elevation"
android:fillViewport="true"
tools:ignore="UnusedAttribute" />
</LinearLayout>
</com.android.setupwizardlib.view.Illustration>
<com.android.setupwizardlib.view.NavigationBar
android:id="@+id/suw_layout_navigation_bar"
style="@style/SuwNavBarTheme"
android:layout_width="match_parent"
android:layout_height="@dimen/suw_navbar_height" />
</LinearLayout>

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- IMPORTANT NOTE: Even if this layout is used with a view that handles its scroll internally,
like WebView or RecyclerView, the illustration will not scroll away, since this view doesn't
know about the scrolling view at all. It is recommended that you add the illustration as a
header to the RecyclerView or avoid using this layout (e.g. use suw_no_scroll_template_short
instead of suw_no_scroll_template) -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<com.android.setupwizardlib.view.Illustration
android:id="@+id/suw_layout_decor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/suw_layout_background"
android:elevation="@dimen/suw_title_area_elevation"
android:tag="stickyContainer"
app:suwAspectRatio="2.22"
tools:ignore="UnusedAttribute">
<TextView
android:id="@+id/suw_layout_title"
style="@style/SuwHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:tag="sticky" />
</com.android.setupwizardlib.view.Illustration>
<FrameLayout
android:id="@+id/suw_layout_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/suw_layout_decor" />
</RelativeLayout>
<com.android.setupwizardlib.view.NavigationBar
android:id="@+id/suw_layout_navigation_bar"
style="@style/SuwNavBarTheme"
android:layout_width="match_parent"
android:layout_height="@dimen/suw_navbar_height" />
</LinearLayout>

View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This layout file is intended for use with views that handle its own scrolling, like WebView or
RecyclerView. For other layouts that should be put inside a ScrollView, consider using
suw_template instead. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/suw_layout_decor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/suw_layout_background"
android:elevation="@dimen/suw_title_area_elevation"
tools:ignore="UnusedAttribute">
<TextView
android:id="@+id/suw_layout_title"
style="@style/SuwHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout android:id="@+id/suw_layout_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.android.setupwizardlib.view.NavigationBar
android:id="@+id/suw_layout_navigation_bar"
style="@style/SuwNavBarTheme"
android:layout_width="match_parent"
android:layout_height="@dimen/suw_navbar_height" />
</LinearLayout>

View file

@ -21,5 +21,7 @@
<item name="suw_template_short" type="layout">@layout/suw_template_header_collapsed</item>
<item name="suw_list_template" type="layout">@layout/suw_list_template_header_collapsed</item>
<item name="suw_list_template_short" type="layout">@layout/suw_list_template_header_collapsed</item>
<item name="suw_no_scroll_template" type="layout">@layout/suw_no_scroll_template_header_collapsed</item>
<item name="suw_no_scroll_template_short" type="layout">@layout/suw_no_scroll_template_header_collapsed</item>
</resources>

View file

@ -21,5 +21,7 @@
<item name="suw_template_short" type="layout">@layout/suw_template_card_wide</item>
<item name="suw_list_template" type="layout">@layout/suw_list_template_card_wide</item>
<item name="suw_list_template_short" type="layout">@layout/suw_list_template_card_wide</item>
<item name="suw_no_scroll_template" type="layout">@layout/suw_no_scroll_template_card_wide</item>
<item name="suw_no_scroll_template_short" type="layout">@layout/suw_no_scroll_template_card_wide</item>
</resources>

View file

@ -21,5 +21,7 @@
<item name="suw_template_short" type="layout">@layout/suw_template_card</item>
<item name="suw_list_template" type="layout">@layout/suw_list_template_card</item>
<item name="suw_list_template_short" type="layout">@layout/suw_list_template_card</item>
<item name="suw_no_scroll_template" type="layout">@layout/suw_no_scroll_template_card</item>
<item name="suw_no_scroll_template_short" type="layout">@layout/suw_no_scroll_template_card</item>
</resources>

View file

@ -21,5 +21,7 @@
<item name="suw_template_short" type="layout">@layout/suw_template_header_collapsed</item>
<item name="suw_list_template" type="layout">@layout/suw_list_template_header</item>
<item name="suw_list_template_short" type="layout">@layout/suw_list_template_header_collapsed</item>
<item name="suw_no_scroll_template" type="layout">@layout/suw_no_scroll_template_header</item>
<item name="suw_no_scroll_template_short" type="layout">@layout/suw_no_scroll_template_header_collapsed</item>
</resources>