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