diff options
-rw-r--r-- | res/layout-xlarge-land/all_apps_tabbed.xml | 1 | ||||
-rw-r--r-- | res/layout-xlarge-land/customization_drawer.xml | 2 | ||||
-rw-r--r-- | res/layout-xlarge-land/launcher.xml (renamed from res/layout-xlarge/launcher.xml) | 0 | ||||
-rw-r--r-- | res/layout-xlarge-port/all_apps_tabbed.xml | 5 | ||||
-rw-r--r-- | res/layout-xlarge-port/customization_drawer.xml | 6 | ||||
-rw-r--r-- | res/layout-xlarge-port/launcher.xml | 155 | ||||
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/AllAppsTabbed.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedView.java | 12 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 6 |
11 files changed, 184 insertions, 11 deletions
diff --git a/res/layout-xlarge-land/all_apps_tabbed.xml b/res/layout-xlarge-land/all_apps_tabbed.xml index 4f573f8a8..3a07b9543 100644 --- a/res/layout-xlarge-land/all_apps_tabbed.xml +++ b/res/layout-xlarge-land/all_apps_tabbed.xml @@ -16,7 +16,6 @@ <com.android.launcher2.AllAppsTabbed xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:background="#30000000" android:paddingTop="?android:attr/actionBarSize"> <LinearLayout android:orientation="vertical" diff --git a/res/layout-xlarge-land/customization_drawer.xml b/res/layout-xlarge-land/customization_drawer.xml index 7ad913236..8c60e68ba 100644 --- a/res/layout-xlarge-land/customization_drawer.xml +++ b/res/layout-xlarge-land/customization_drawer.xml @@ -23,6 +23,6 @@ launcher:cellCountX="7" launcher:cellCountY="4" launcher:pageLayoutPaddingTop="10dp" - launcher:pageLayoutPaddingBottom="15dp" + launcher:pageLayoutPaddingBottom="25dp" launcher:pageLayoutPaddingLeft="20dp" launcher:pageLayoutPaddingRight="20dp" />
\ No newline at end of file diff --git a/res/layout-xlarge/launcher.xml b/res/layout-xlarge-land/launcher.xml index 65f29df00..65f29df00 100644 --- a/res/layout-xlarge/launcher.xml +++ b/res/layout-xlarge-land/launcher.xml diff --git a/res/layout-xlarge-port/all_apps_tabbed.xml b/res/layout-xlarge-port/all_apps_tabbed.xml index 2ff044792..6675adc55 100644 --- a/res/layout-xlarge-port/all_apps_tabbed.xml +++ b/res/layout-xlarge-port/all_apps_tabbed.xml @@ -16,7 +16,6 @@ <com.android.launcher2.AllAppsTabbed xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:background="#30000000" android:paddingTop="?android:attr/actionBarSize"> <LinearLayout android:orientation="vertical" @@ -37,8 +36,8 @@ android:id="@+id/all_apps_paged_view" android:layout_width="match_parent" android:layout_height="match_parent" - launcher:cellCountX="7" - launcher:cellCountY="4" + launcher:cellCountX="5" + launcher:cellCountY="7" launcher:pageLayoutPaddingTop="10dp" launcher:pageLayoutPaddingBottom="10dp" launcher:pageLayoutPaddingLeft="0dp" diff --git a/res/layout-xlarge-port/customization_drawer.xml b/res/layout-xlarge-port/customization_drawer.xml index db264b228..20c207f42 100644 --- a/res/layout-xlarge-port/customization_drawer.xml +++ b/res/layout-xlarge-port/customization_drawer.xml @@ -20,9 +20,9 @@ android:layout_width="match_parent" android:layout_height="match_parent" launcher:widgetCellCountX="12" - launcher:cellCountX="7" + launcher:cellCountX="5" launcher:cellCountY="4" - launcher:pageLayoutPaddingTop="10dp" - launcher:pageLayoutPaddingBottom="15dp" + launcher:pageLayoutPaddingTop="15dp" + launcher:pageLayoutPaddingBottom="25dp" launcher:pageLayoutPaddingLeft="0dp" launcher:pageLayoutPaddingRight="0dp" />
\ No newline at end of file diff --git a/res/layout-xlarge-port/launcher.xml b/res/layout-xlarge-port/launcher.xml new file mode 100644 index 000000000..a418b36aa --- /dev/null +++ b/res/layout-xlarge-port/launcher.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 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. +--> + +<com.android.launcher2.DragLayer + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" + + android:id="@+id/drag_layer" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <include + layout="@layout/all_apps_tabbed" + android:id="@+id/all_apps_view" + android:layout_width="match_parent" + android:layout_height="1000dip" + android:layout_gravity="top"/> + + <!-- The workspace contains 5 screens of cells --> + <com.android.launcher2.Workspace + android:id="@+id/workspace" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="?android:attr/actionBarSize" + launcher:defaultScreen="2" + launcher:cellCountX="8" + launcher:cellCountY="7" + launcher:pageSpacing="64dip"> + + <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> + </com.android.launcher2.Workspace> + + <RelativeLayout + android:id="@+id/all_apps_button_cluster" + android:layout_width="fill_parent" + android:layout_height="?android:attr/actionBarSize" + android:layout_gravity="top"> + + <ImageView + android:id="@+id/search_button" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_gravity="left" + android:layout_marginLeft="@dimen/toolbar_button_spacing" + + android:onClick="onClickSearchButton" + android:focusable="true" + android:clickable="true"/> + + <ImageView + android:id="@+id/configure_button" + android:src="@drawable/configure_button" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignParentRight="true" + android:layout_marginLeft="@dimen/toolbar_button_spacing" + android:layout_marginRight="@dimen/toolbar_button_spacing" + + android:onClick="onClickConfigureButton" + android:focusable="true" + android:clickable="true" /> + + <TextView + android:id="@+id/all_apps_button" + android:text="@string/all_apps_button_label" + android:background="@drawable/all_apps_button" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_toLeftOf="@id/configure_button" + android:layout_marginLeft="@dimen/toolbar_button_spacing" + android:layout_marginRight="@dimen/toolbar_button_spacing" + android:textSize="18dip" + + android:onClick="onClickAllAppsButton" + android:focusable="true" + android:clickable="true" /> + + <!-- The button to bring up the installed app market. + The icon for this button will be dynamically set. --> + <ImageView + android:id="@+id/market_button" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignLeft="@id/all_apps_button" + + android:onClick="onClickAppMarketButton" + android:focusable="false" + android:clickable="false" + android:visibility="gone"/> + + <com.android.launcher2.DeleteZone + android:id="@+id/delete_zone" + android:src="@drawable/delete_zone_selector" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignLeft="@id/all_apps_button" + + android:visibility="gone" + launcher:direction="horizontal" /> + + <com.android.launcher2.ApplicationInfoDropTarget + android:id="@+id/info_button" + android:src="@drawable/info_button" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignLeft="@id/configure_button" + + android:visibility="gone" + android:focusable="true" + android:clickable="true" /> + + </RelativeLayout> + + <TabHost + android:id="@android:id/tabhost" + android:layout_width="match_parent" + android:layout_height="550dip" + android:layout_gravity="bottom"> + <LinearLayout + android:orientation="vertical" + android:background="#40000000" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <TabWidget + android:id="@android:id/tabs" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:tabStripEnabled="false" + android:paddingBottom="10dp" /> + <FrameLayout + android:id="@android:id/tabcontent" + android:layout_width="match_parent" + android:layout_height="match_parent"> + </FrameLayout> + </LinearLayout> + </TabHost> +</com.android.launcher2.DragLayer> diff --git a/res/values/strings.xml b/res/values/strings.xml index bcb7e9a6e..4f74b5985 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -69,7 +69,7 @@ <!-- Customization Drawer --> <!-- The format string for the dimensions of a widget in the drawer --> - <string name="widget_dims_format">%1$d x %2$d</string> + <string name="widget_dims_format" translatable="false">%1$d x %2$d</string> <!-- Folders --> <skip /> diff --git a/src/com/android/launcher2/AllAppsTabbed.java b/src/com/android/launcher2/AllAppsTabbed.java index 368306f50..aff8ddd20 100644 --- a/src/com/android/launcher2/AllAppsTabbed.java +++ b/src/com/android/launcher2/AllAppsTabbed.java @@ -127,6 +127,9 @@ public class AllAppsTabbed extends TabHost implements AllAppsView { } }); + // TEMP: Working around a bug in tab host where the current tab does not initially have a + // highlight on it by selecting something else, then selecting the actual tab we want.. + setCurrentTab(1); setCurrentTab(0); // It needs to be INVISIBLE so that it will be measured in the layout. diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 989ee2517..d7c2f5bb5 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -350,6 +350,9 @@ public final class Launcher extends Activity } }); + // TEMP: Working around a bug in tab host where the current tab does not initially have + // a highlight on it by selecting something else, then selecting the actual tab we want.. + mHomeCustomizationDrawer.setCurrentTab(1); mHomeCustomizationDrawer.setCurrentTab(0); } setupViews(); diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java index 83320533f..97bbbdff4 100644 --- a/src/com/android/launcher2/PagedView.java +++ b/src/com/android/launcher2/PagedView.java @@ -406,6 +406,14 @@ public abstract class PagedView extends ViewGroup { int halfChildWidth = (childWidth / 2); int childCenter = getChildOffset(i) + halfChildWidth; + // On the first layout, we may not have a width nor a proper offset, so for now + // we should just assume full page width (and calculate the offset according to + // that). + if (childWidth <= 0) { + childWidth = getMeasuredWidth(); + childCenter = (i * childWidth) + (childWidth / 2); + } + int d = halfChildWidth; int distanceFromScreenCenter = childCenter - screenCenter; if (distanceFromScreenCenter > 0) { @@ -419,6 +427,9 @@ public abstract class PagedView extends ViewGroup { } d += mPageSpacing; + // Preventing potential divide-by-zero + d = Math.max(1, d); + float dimAlpha = (float) (Math.abs(distanceFromScreenCenter)) / d; dimAlpha = Math.max(0.0f, Math.min(1.0f, (dimAlpha * dimAlpha))); float alpha = 1.0f - dimAlpha; @@ -1237,6 +1248,7 @@ public abstract class PagedView extends ViewGroup { // Load any pages that are necessary for the current window of views loadAssociatedPages(mCurrentPage); mDirtyPageAlpha = true; + updateAdjacentPagesAlpha(); requestLayout(); } } diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index ac5c1b9d2..0d070488e 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -717,8 +717,10 @@ public class Workspace extends SmoothPagedView finalAlpha = 0.0f; extraShrinkFactor = 0.1f; } else if (shrinkPosition == ShrinkPosition.SHRINK_TO_MIDDLE) { - newY = screenHeight / 2 - scaledPageHeight / 2; - finalAlpha = 1.0f; + newY = screenHeight / 2 - scaledPageHeight / 2; + finalAlpha = 1.0f; + } else if (shrinkPosition == ShrinkPosition.SHRINK_TO_TOP) { + newY = screenHeight / 10; } // We animate all the screens to the centered position in workspace |