Fix fragment widths on 10" tablet
- Add padding to edges of fragments
- Make list fragments more narrow on tablet landscape
- Make list / detail fragments 50/50 of the screen width
in tablet portrait
- Add divider to contact card with social updates
- Fix padding in group detail fragment header on tablet
- This doesn't cover 7" tablet, will come in later CL
Bug: 5082277
Change-Id: I31714cf633838a2d236c96720c1e70135f7bc74f
diff --git a/res/layout-sw580dp-w1000dp/contact_detail_container.xml b/res/layout-sw580dp-w1000dp/contact_detail_container.xml
index 1d4ea35..6b1d094 100644
--- a/res/layout-sw580dp-w1000dp/contact_detail_container.xml
+++ b/res/layout-sw580dp-w1000dp/contact_detail_container.xml
@@ -35,7 +35,14 @@
android:id="@+id/about_fragment_container"
android:layout_width="0dip"
android:layout_height="match_parent"
- android:layout_weight="1" />
+ android:layout_weight="3" />
+
+ <!-- Vertical divider -->
+ <View
+ android:layout_width="2dip"
+ android:layout_height="match_parent"
+ android:background="?android:attr/listDivider"
+ />
<!--
Container for the "Updates" fragment on the contact card for a contact
@@ -44,7 +51,8 @@
-->
<FrameLayout
android:id="@+id/updates_fragment_container"
- android:layout_width="306dip"
+ android:layout_width="0dip"
+ android:layout_weight="2"
android:layout_height="match_parent" />
</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-sw580dp-w1000dp/group_detail_fragment.xml b/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
index 11779cb..31d3ce1 100644
--- a/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
+++ b/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
@@ -27,21 +27,22 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="@dimen/group_detail_vertical_padding"
+ android:paddingTop="12dip"
+ android:paddingBottom="12dip"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
+ android:paddingLeft="@dimen/group_detail_border_padding"
android:orientation="vertical" >
<TextView
android:id="@+id/group_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/group_detail_border_padding"
- android:paddingTop="@dimen/group_detail_vertical_padding"
+ android:paddingLeft="8dip"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
@@ -49,7 +50,7 @@
android:id="@+id/group_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/group_detail_border_padding"
+ android:paddingLeft="8dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorSecondary" />
@@ -67,10 +68,9 @@
<View
android:layout_width="match_parent"
android:layout_height="1dip"
- android:background="?android:attr/listDivider"
- android:layout_marginBottom="@dimen/group_detail_vertical_padding"
- android:layout_marginLeft="@dimen/group_detail_divider_margin"
- android:layout_marginRight="@dimen/group_detail_divider_margin" />
+ android:background="@color/people_app_theme_color"
+ android:layout_marginLeft="@dimen/group_detail_border_padding"
+ android:layout_marginRight="@dimen/group_detail_border_padding" />
<!-- List of group members -->
<ListView android:id="@android:id/list"
diff --git a/res/layout-sw580dp-w1000dp/people_activity.xml b/res/layout-sw580dp-w1000dp/people_activity.xml
new file mode 100644
index 0000000..7d8d064
--- /dev/null
+++ b/res/layout-sw580dp-w1000dp/people_activity.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.android.contacts.widget.InterpolatingLayout
+ android:id="@+id/main_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:splitMotionEvents="true">
+
+ <LinearLayout
+ android:id="@+id/browse_view"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:minWidth="100dip"
+ ex:layout_narrowParentWidth="1000dip"
+ ex:layout_narrowWidth="276dip"
+ ex:layout_wideParentWidth="1280dip"
+ ex:layout_wideWidth="376dip"
+ android:background="@drawable/list_background_holo"
+ android:visibility="gone">
+
+ <!-- All -->
+ <fragment
+ android:id="@+id/all_fragment"
+ class="com.android.contacts.list.DefaultContactBrowseListFragment"
+ android:layout_height="0dip"
+ android:layout_width="match_parent"
+ android:layout_weight="1" />
+
+ <!-- Groups -->
+ <fragment
+ android:id="@+id/groups_fragment"
+ class="com.android.contacts.group.GroupBrowseListFragment"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent" />
+ </LinearLayout>
+
+ <view
+ class="com.android.contacts.widget.TransitionAnimationView"
+ android:id="@+id/details_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ ex:layout_narrowParentWidth="800dip"
+ ex:layout_narrowMarginLeft="0dip"
+ ex:layout_narrowMarginRight="0dip"
+ ex:layout_wideParentWidth="1280dip"
+ ex:layout_wideMarginLeft="0dip"
+ ex:layout_wideMarginRight="0dip"
+ ex:clipMarginLeft="0dip"
+ ex:clipMarginTop="3dip"
+ ex:clipMarginRight="3dip"
+ ex:clipMarginBottom="9dip"
+ ex:enterAnimation="@android:animator/fade_in"
+ ex:exitAnimation="@android:animator/fade_out"
+ ex:animationDuration="200"
+ android:visibility="gone">
+
+ <!-- This layout includes all possible views needed for a contact detail page -->
+ <include
+ android:id="@+id/contact_detail_container"
+ layout="@layout/contact_detail_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <!-- This invisible worker fragment loads the contact's details -->
+ <fragment
+ android:id="@+id/contact_detail_loader_fragment"
+ class="com.android.contacts.detail.ContactLoaderFragment"
+ android:layout_height="0dip"
+ android:layout_width="0dip"
+ android:visibility="gone"/>
+
+ <!-- This is the group detail page -->
+ <fragment
+ android:id="@+id/group_detail_fragment"
+ class="com.android.contacts.group.GroupDetailFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+ </view>
+
+ <view
+ class="com.android.contacts.widget.TransitionAnimationView"
+ android:id="@+id/favorites_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ ex:clipMarginLeft="0dip"
+ ex:clipMarginTop="3dip"
+ ex:clipMarginRight="3dip"
+ ex:clipMarginBottom="9dip"
+ ex:enterAnimation="@android:animator/fade_in"
+ ex:exitAnimation="@android:animator/fade_out"
+ ex:animationDuration="200">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/list_background_holo">
+
+ <!-- Starred -->
+ <fragment
+ android:id="@+id/favorites_fragment"
+ class="com.android.contacts.list.ContactTileListFragment"
+ android:layout_height="match_parent"
+ style="@style/FavoritesFragmentStyle"
+ android:layout_marginTop="32dip"
+ android:layout_marginLeft="32dip"
+ android:layout_marginRight="32dip" />
+
+ <!-- Most Frequent -->
+ <fragment
+ android:id="@+id/frequent_fragment"
+ class="com.android.contacts.list.ContactTileListFragment"
+ style="@style/FrequentFragmentStyle"
+ android:layout_height="match_parent"
+ android:layout_marginTop="32dip"
+ android:layout_marginRight="32dip"/>
+ </LinearLayout>
+ </view>
+
+ </com.android.contacts.widget.InterpolatingLayout>
+
+ <com.android.contacts.widget.InterpolatingLayout
+ android:id="@+id/contacts_unavailable_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone">
+
+ <FrameLayout
+ android:id="@+id/contacts_unavailable_container"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ ex:layout_narrowParentWidth="800dip"
+ ex:layout_narrowMarginLeft="80dip"
+ ex:layout_narrowMarginRight="80dip"
+ ex:layout_wideParentWidth="1280dip"
+ ex:layout_wideMarginLeft="200dip"
+ ex:layout_wideMarginRight="200dip"
+ android:paddingBottom="20dip" />
+
+ </com.android.contacts.widget.InterpolatingLayout>
+</FrameLayout>
diff --git a/res/layout-sw580dp/group_detail_fragment.xml b/res/layout-sw580dp/group_detail_fragment.xml
index a7db154..c11337f 100644
--- a/res/layout-sw580dp/group_detail_fragment.xml
+++ b/res/layout-sw580dp/group_detail_fragment.xml
@@ -21,14 +21,16 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:paddingLeft="@dimen/group_detail_border_padding"
+ android:paddingRight="@dimen/group_detail_border_padding"
android:background="@drawable/panel_content">
<TextView
android:id="@+id/group_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/group_detail_border_padding"
- android:paddingTop="@dimen/group_detail_vertical_padding"
+ android:paddingLeft="8dip"
+ android:paddingTop="12dip"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
@@ -36,31 +38,25 @@
android:id="@+id/group_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="@dimen/group_detail_border_padding"
+ android:paddingLeft="8dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorTertiary" />
<View
android:layout_width="match_parent"
android:layout_height="1dip"
- android:background="?android:attr/listDivider"
- android:layout_marginTop="@dimen/group_detail_vertical_padding"
- android:layout_marginBottom="@dimen/group_detail_vertical_padding"
- android:layout_marginLeft="@dimen/group_detail_divider_margin"
- android:layout_marginRight="@dimen/group_detail_divider_margin" />
+ android:background="@color/people_app_theme_color"
+ android:layout_marginTop="12dip" />
<FrameLayout
android:id="@+id/group_source_view_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:paddingLeft="@dimen/group_detail_border_padding" />
+ android:layout_gravity="center_vertical" />
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="@dimen/group_detail_border_padding"
- android:layout_marginRight="@dimen/group_detail_border_padding"
android:cacheColorHint="#00000000"
android:divider="@null" />
diff --git a/res/layout-sw580dp/people_activity.xml b/res/layout-sw580dp/people_activity.xml
index 8bf627f..35c11b1 100644
--- a/res/layout-sw580dp/people_activity.xml
+++ b/res/layout-sw580dp/people_activity.xml
@@ -20,23 +20,19 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <com.android.contacts.widget.InterpolatingLayout
+ <LinearLayout
android:id="@+id/main_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="8dip"
+ android:orientation="horizontal"
android:splitMotionEvents="true">
<LinearLayout
android:id="@+id/browse_view"
- android:layout_width="wrap_content"
+ android:layout_width="0dip"
android:layout_height="match_parent"
+ android:layout_weight="1"
android:orientation="vertical"
- android:minWidth="100dip"
- ex:layout_narrowParentWidth="800dip"
- ex:layout_narrowWidth="310dip"
- ex:layout_wideParentWidth="1280dip"
- ex:layout_wideWidth="430dip"
android:background="@drawable/list_background_holo"
android:visibility="gone">
@@ -59,14 +55,9 @@
<view
class="com.android.contacts.widget.TransitionAnimationView"
android:id="@+id/details_view"
- android:layout_width="match_parent"
+ android:layout_width="0dip"
android:layout_height="match_parent"
- ex:layout_narrowParentWidth="800dip"
- ex:layout_narrowMarginLeft="0dip"
- ex:layout_narrowMarginRight="0dip"
- ex:layout_wideParentWidth="1280dip"
- ex:layout_wideMarginLeft="0dip"
- ex:layout_wideMarginRight="0dip"
+ android:layout_weight="1"
ex:clipMarginLeft="0dip"
ex:clipMarginTop="3dip"
ex:clipMarginRight="3dip"
@@ -105,19 +96,13 @@
android:id="@+id/favorites_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- ex:layout_narrowParentWidth="800dip"
- ex:layout_narrowMarginRight="0dip"
- ex:layout_wideParentWidth="1280dip"
- ex:layout_wideMarginRight="48dip"
ex:clipMarginLeft="0dip"
ex:clipMarginTop="3dip"
ex:clipMarginRight="3dip"
ex:clipMarginBottom="9dip"
ex:enterAnimation="@android:animator/fade_in"
ex:exitAnimation="@android:animator/fade_out"
- ex:animationDuration="200"
- android:paddingTop="32dip"
- android:paddingRight="32dip">
+ ex:animationDuration="200">
<LinearLayout
android:layout_width="match_parent"
@@ -129,20 +114,23 @@
android:id="@+id/favorites_fragment"
class="com.android.contacts.list.ContactTileListFragment"
android:layout_height="match_parent"
- android:layout_width="0dip"
- android:layout_weight="2" />
+ style="@style/FavoritesFragmentStyle"
+ android:layout_marginTop="32dip"
+ android:layout_marginLeft="32dip"
+ android:layout_marginRight="32dip" />
<!-- Most Frequent -->
<fragment
android:id="@+id/frequent_fragment"
class="com.android.contacts.list.ContactTileListFragment"
+ style="@style/FrequentFragmentStyle"
android:layout_height="match_parent"
- android:layout_width="0dip"
- android:layout_weight="1" />
+ android:layout_marginTop="32dip"
+ android:layout_marginRight="32dip"/>
</LinearLayout>
</view>
- </com.android.contacts.widget.InterpolatingLayout>
+ </LinearLayout>
<com.android.contacts.widget.InterpolatingLayout
android:id="@+id/contacts_unavailable_view"
diff --git a/res/layout/contact_detail_tab_carousel.xml b/res/layout/contact_detail_tab_carousel.xml
index fe167d1..fb60f17 100644
--- a/res/layout/contact_detail_tab_carousel.xml
+++ b/res/layout/contact_detail_tab_carousel.xml
@@ -28,10 +28,18 @@
android:layout_height="match_parent"
android:orientation="horizontal">
+ <!-- "About" tab -->
<include
android:id="@+id/tab_about"
layout="@layout/carousel_about_tab" />
+ <!-- Vertical divider -->
+ <View
+ android:layout_width="2dip"
+ android:layout_height="match_parent"
+ android:background="@android:color/white"/>
+
+ <!-- "Updates" tab -->
<include
android:id="@+id/tab_update"
layout="@layout/carousel_updates_tab" />
diff --git a/res/values-sw580dp-w1000dp/styles.xml b/res/values-sw580dp-w1000dp/styles.xml
new file mode 100644
index 0000000..85f4733
--- /dev/null
+++ b/res/values-sw580dp-w1000dp/styles.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 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.
+-->
+<resources>
+ <style name="FavoritesFragmentStyle">
+ <item name="android:layout_width">0dip</item>
+ <item name="android:layout_weight">7</item>
+ </style>
+
+ <style name="FrequentFragmentStyle">
+ <item name="android:layout_width">0dip</item>
+ <item name="android:layout_weight">3</item>
+ </style>
+</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 459d0f8..0a932fd 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -191,14 +191,8 @@
<!-- Size of group list icons -->
<dimen name="group_list_icon_size">32dip</dimen>
- <!-- Border padding for the group detail fragment header -->
- <dimen name="group_detail_border_padding">20dip</dimen>
-
- <!-- Vertical padding for the group detail fragment header -->
- <dimen name="group_detail_vertical_padding">15dip</dimen>
-
- <!-- Margins for the group detail fragment divider in the header -->
- <dimen name="group_detail_divider_margin">15dip</dimen>
+ <!-- Border padding for the group detail fragment -->
+ <dimen name="group_detail_border_padding">32dip</dimen>
<!-- Height of the member list in the group editor -->
<dimen name="group_editor_member_list_height">550dip</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 423466f..6d4c4b2 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -301,6 +301,16 @@
<item name="android:background">#7F000000</item>
</style>
+ <style name="FavoritesFragmentStyle">
+ <item name="android:layout_width">0dip</item>
+ <item name="android:layout_weight">1</item>
+ </style>
+
+ <style name="FrequentFragmentStyle">
+ <item name="android:layout_width">0dip</item>
+ <item name="android:layout_weight">1</item>
+ </style>
+
<style name="DialtactsActionBarStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:backgroundSplit">@drawable/ab_bottom_opaque_dark_holo</item>
<item name="android:backgroundStacked">@drawable/ab_stacked_opaque_dark_holo</item>