Add scrollview to all setup activities

* Prevents hidden elements while keyboard open
* Buttons float to bottom in portrait mode

Note: Actual positions & sizes are non-final


Bug: 3188940
Change-Id: I1ee849a7dadc7da874df0fb420101c38d8e01f37
diff --git a/res/layout-xlarge-port/account_setup_options.xml b/res/layout-xlarge-port/account_setup_options.xml
index 3ac5d9b..8e9ac1f 100644
--- a/res/layout-xlarge-port/account_setup_options.xml
+++ b/res/layout-xlarge-port/account_setup_options.xml
@@ -15,182 +15,200 @@
 -->
 
 <!-- Account Options - XL - portrait - see layout/ for small-screen version -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:paddingTop="16dip"
-    android:paddingLeft="96dip"
-    android:paddingRight="96dip"
+    android:fillViewport="true"
     >
 
-    <!-- Headline and hairline divider -->
-    <TextView
-        android:id="@+id/headline"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentLeft="true"
-        android:layout_marginLeft="16dip"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/account_setup_options_headline"
-        android:textAppearance="@style/accountSetupHeadline" />
-    <View
-        android:id="@+id/top_divider"
-        android:layout_below="@+id/headline"
-        android:layout_marginBottom="16dip"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="@color/account_setup_divider_color" />
-
-    <!-- Layout on the top containing the setup info -->
-    <RelativeLayout
-        android:id="@+id/setup_options_section"
-        android:layout_below="@+id/top_divider"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingLeft="96dip"
+        android:paddingRight="96dip"
         >
-        <!-- Spinners in a table to line everything up nicely -->
-        <TableLayout
-            android:id="@+id/spinners_table"
-            android:layout_alignParentTop="true"
-            android:layout_marginRight="96dip"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:stretchColumns="1" >
-            <TableRow
-                android:paddingTop="16dip" >
-                <TextView
-                    android:layout_height="wrap_content"
-                    android:layout_width="wrap_content"
-                    android:layout_marginRight="16dip"
-                    android:text="@string/account_setup_options_mail_check_frequency_label"
-                    android:textColor="?android:attr/textColorPrimary" />
-                <Spinner
-                    android:id="@+id/account_check_frequency"
-                    android:layout_height="wrap_content"
-                    android:layout_width="match_parent" />
-            </TableRow>
-            <!-- 2nd row is shown only for EAS accounts -->
-            <TableRow
-                android:id="@+id/account_sync_window_row"
-                android:paddingTop="16dip"
-                android:visibility="gone" >
-                <TextView
-                    android:layout_height="wrap_content"
-                    android:layout_width="wrap_content"
-                    android:layout_marginRight="16dip"
-                    android:text="@string/account_setup_options_mail_window_label"
-                    android:textColor="?android:attr/textColorPrimary" />
-                <Spinner
-                    android:id="@+id/account_sync_window"
-                    android:layout_height="wrap_content"
-                    android:layout_width="match_parent" />
-            </TableRow>
-        </TableLayout>
-        <View
-            android:id="@+id/account_default_divider_upper"
-            android:layout_below="@+id/spinners_table"
-            android:layout_marginTop="32dip"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color" />
-        <CheckBox
-            android:id="@+id/account_default"
-            android:layout_below="@+id/account_default_divider_upper"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="16dip"
-            android:layout_marginLeft="32dip"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:text="@string/account_setup_options_default_label" />
-        <View
-            android:id="@+id/account_default_divider"
-            android:layout_below="@+id/account_default"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color" />
-        <CheckBox
-            android:id="@+id/account_notify"
-            android:layout_below="@+id/account_default_divider"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="16dip"
-            android:layout_marginLeft="32dip"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:text="@string/account_setup_options_notify_label" />
-        <View
-            android:id="@+id/account_notify_divider"
-            android:layout_below="@+id/account_notify"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color" />
-        <!-- Contacts sync - hide unless EAS -->
-        <CheckBox
-            android:id="@+id/account_sync_contacts"
-            android:layout_below="@+id/account_notify_divider"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="16dip"
-            android:layout_marginLeft="32dip"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:text="@string/account_setup_options_sync_contacts_label"
-            android:visibility="gone" />
-        <View
-            android:id="@+id/account_sync_contacts_divider"
-            android:layout_below="@+id/account_sync_contacts"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color"
-            android:visibility="gone" />
-        <!-- Calendar sync - hide unless EAS -->
-        <CheckBox
-            android:id="@+id/account_sync_calendar"
-            android:layout_below="@+id/account_sync_contacts_divider"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="16dip"
-            android:layout_marginLeft="32dip"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:text="@string/account_setup_options_sync_calendar_label"
-            android:visibility="gone" />
-        <View
-            android:id="@+id/account_sync_calendar_divider"
-            android:layout_below="@+id/account_sync_calendar"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color"
-            android:visibility="gone" />
-        <!-- Email sync - always show -->
-        <CheckBox
-            android:id="@+id/account_sync_email"
-            android:layout_below="@+id/account_sync_calendar_divider"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="16dip"
-            android:layout_marginLeft="32dip"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:text="@string/account_setup_options_sync_email_label" />
-        <View
-            android:id="@+id/account_sync_email_divider"
-            android:layout_below="@+id/account_sync_email"
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:background="@color/account_setup_divider_color" />
-    </RelativeLayout>
 
-    <!-- Buttons below -->
-    <Button
-        android:id="@+id/previous"
-        android:layout_below="@+id/setup_options_section"
-        android:layout_marginTop="48dip"
-        android:layout_alignParentLeft="true"
-        style="@style/accountSetupButton"
-        android:text="@string/previous_action" />
-    <Button
-        android:id="@+id/next"
-        android:layout_below="@+id/setup_options_section"
-        android:layout_marginTop="48dip"
-        android:layout_alignParentRight="true"
-        style="@style/accountSetupButton"
-        android:text="@string/next_action" />
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:paddingTop="16dip"
+            >
 
-</RelativeLayout>
+            <!-- Headline and hairline divider -->
+            <TextView
+                android:id="@+id/headline"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentLeft="true"
+                android:layout_marginLeft="16dip"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/account_setup_options_headline"
+                android:textAppearance="@style/accountSetupHeadline" />
+            <View
+                android:id="@+id/top_divider"
+                android:layout_below="@+id/headline"
+                android:layout_marginBottom="16dip"
+                android:layout_width="match_parent"
+                android:layout_height="1px"
+                android:background="@color/account_setup_divider_color" />
+
+            <!-- Layout on the top containing the setup info -->
+            <RelativeLayout
+                android:id="@+id/setup_options_section"
+                android:layout_below="@+id/top_divider"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                >
+                <!-- Spinners in a table to line everything up nicely -->
+                <TableLayout
+                    android:id="@+id/spinners_table"
+                    android:layout_alignParentTop="true"
+                    android:layout_marginRight="96dip"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:stretchColumns="1" >
+                    <TableRow
+                        android:paddingTop="16dip" >
+                        <TextView
+                            android:layout_height="wrap_content"
+                            android:layout_width="wrap_content"
+                            android:layout_marginRight="16dip"
+                            android:text="@string/account_setup_options_mail_check_frequency_label"
+                            android:textColor="?android:attr/textColorPrimary" />
+                        <Spinner
+                            android:id="@+id/account_check_frequency"
+                            android:layout_height="wrap_content"
+                            android:layout_width="match_parent" />
+                    </TableRow>
+                    <!-- 2nd row is shown only for EAS accounts -->
+                    <TableRow
+                        android:id="@+id/account_sync_window_row"
+                        android:paddingTop="16dip"
+                        android:visibility="gone" >
+                        <TextView
+                            android:layout_height="wrap_content"
+                            android:layout_width="wrap_content"
+                            android:layout_marginRight="16dip"
+                            android:text="@string/account_setup_options_mail_window_label"
+                            android:textColor="?android:attr/textColorPrimary" />
+                        <Spinner
+                            android:id="@+id/account_sync_window"
+                            android:layout_height="wrap_content"
+                            android:layout_width="match_parent" />
+                    </TableRow>
+                </TableLayout>
+                <View
+                    android:id="@+id/account_default_divider_upper"
+                    android:layout_below="@+id/spinners_table"
+                    android:layout_marginTop="32dip"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color" />
+                <CheckBox
+                    android:id="@+id/account_default"
+                    android:layout_below="@+id/account_default_divider_upper"
+                    android:layout_marginTop="16dip"
+                    android:layout_marginBottom="16dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:text="@string/account_setup_options_default_label" />
+                <View
+                    android:id="@+id/account_default_divider"
+                    android:layout_below="@+id/account_default"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color" />
+                <CheckBox
+                    android:id="@+id/account_notify"
+                    android:layout_below="@+id/account_default_divider"
+                    android:layout_marginTop="16dip"
+                    android:layout_marginBottom="16dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:text="@string/account_setup_options_notify_label" />
+                <View
+                    android:id="@+id/account_notify_divider"
+                    android:layout_below="@+id/account_notify"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color" />
+                <!-- Contacts sync - hide unless EAS -->
+                <CheckBox
+                    android:id="@+id/account_sync_contacts"
+                    android:layout_below="@+id/account_notify_divider"
+                    android:layout_marginTop="16dip"
+                    android:layout_marginBottom="16dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:text="@string/account_setup_options_sync_contacts_label"
+                    android:visibility="gone" />
+                <View
+                    android:id="@+id/account_sync_contacts_divider"
+                    android:layout_below="@+id/account_sync_contacts"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color"
+                    android:visibility="gone" />
+                <!-- Calendar sync - hide unless EAS -->
+                <CheckBox
+                    android:id="@+id/account_sync_calendar"
+                    android:layout_below="@+id/account_sync_contacts_divider"
+                    android:layout_marginTop="16dip"
+                    android:layout_marginBottom="16dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:text="@string/account_setup_options_sync_calendar_label"
+                    android:visibility="gone" />
+                <View
+                    android:id="@+id/account_sync_calendar_divider"
+                    android:layout_below="@+id/account_sync_calendar"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color"
+                    android:visibility="gone" />
+                <!-- Email sync - always show -->
+                <CheckBox
+                    android:id="@+id/account_sync_email"
+                    android:layout_below="@+id/account_sync_calendar_divider"
+                    android:layout_marginTop="16dip"
+                    android:layout_marginBottom="16dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"
+                    android:text="@string/account_setup_options_sync_email_label" />
+                <View
+                    android:id="@+id/account_sync_email_divider"
+                    android:layout_below="@+id/account_sync_email"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    android:background="@color/account_setup_divider_color" />
+            </RelativeLayout>
+        </RelativeLayout>
+
+        <!-- Buttons below -->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="48dip"
+            >
+            <Button
+                android:id="@+id/previous"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentLeft="true"
+                style="@style/accountSetupButton"
+                android:text="@string/previous_action" />
+            <Button
+                android:id="@+id/next"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentRight="true"
+                style="@style/accountSetupButton"
+                android:text="@string/next_action" />
+        </RelativeLayout>
+    </LinearLayout>
+</ScrollView>
\ No newline at end of file