diff options
-rw-r--r-- | res/layout-sw720dp/apps_customize_widget.xml | 79 | ||||
-rw-r--r-- | res/layout/apps_customize_widget.xml | 3 | ||||
-rw-r--r-- | res/values-sw720dp/dimens.xml | 20 | ||||
-rw-r--r-- | res/values/dimens.xml | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 26 |
5 files changed, 39 insertions, 91 deletions
diff --git a/res/layout-sw720dp/apps_customize_widget.xml b/res/layout-sw720dp/apps_customize_widget.xml deleted file mode 100644 index e707ef7..0000000 --- a/res/layout-sw720dp/apps_customize_widget.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?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. ---> -<com.android.launcher2.PagedViewWidget - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_weight="1" - android:orientation="vertical" - - launcher:blurColor="#FF6B8CF0" - launcher:outlineColor="#FF8CD2FF" - - android:background="@drawable/focusable_view_bg" - android:focusable="true"> - - <LinearLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginBottom="4dp" - android:orientation="vertical"> - <!-- The name of the widget. --> - <TextView xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/widget_name" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:gravity="left|bottom" - android:singleLine="true" - android:ellipsize="marquee" - android:fadingEdge="horizontal" - - android:textColor="#FFBBBBBB" - android:textSize="14sp" - android:shadowColor="#FF000000" - android:shadowDx="0.0" - android:shadowDy="1.0" - android:shadowRadius="1.0" /> - - <!-- The original dimensions of the widget (can't be the same text as above due to different - style. --> - <TextView - android:id="@+id/widget_dims" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:gravity="left|bottom" - - android:textColor="#FF999999" - android:textSize="12sp" - android:shadowColor="#99000000" - android:shadowDx="0.0" - android:shadowDy="1.0" - android:shadowRadius="1.0" /> - </LinearLayout> - - <!-- The icon of the widget. --> - <ImageView - android:id="@+id/widget_preview" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:adjustViewBounds="true" - android:scaleType="fitStart" /> -</com.android.launcher2.PagedViewWidget> diff --git a/res/layout/apps_customize_widget.xml b/res/layout/apps_customize_widget.xml index 2c11c1d..704401a 100644 --- a/res/layout/apps_customize_widget.xml +++ b/res/layout/apps_customize_widget.xml @@ -68,6 +68,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" - android:padding="8dp" + android:paddingTop="@dimen/app_widget_preview_padding_top" + android:paddingLeft="@dimen/app_widget_preview_padding_left" android:scaleType="matrix" /> </com.android.launcher2.PagedViewWidget> diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml new file mode 100644 index 0000000..0373295 --- /dev/null +++ b/res/values-sw720dp/dimens.xml @@ -0,0 +1,20 @@ +<?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> + <dimen name="app_widget_preview_padding_left">0dp</dimen> + <dimen name="app_widget_preview_padding_top">10dp</dimen> +</resources>
\ No newline at end of file diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 124cf16..9ba77a9 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -108,6 +108,8 @@ <dimen name="app_widget_padding_right">16dp</dimen> <dimen name="app_widget_padding_top">16dp</dimen> <dimen name="app_widget_padding_bottom">16dp</dimen> + <dimen name="app_widget_preview_padding_left">8dp</dimen> + <dimen name="app_widget_preview_padding_top">8dp</dimen> <!-- Folders --> <!-- The size of the image which sits behind the preview of the folder contents --> diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 5a54c78..4d8a9cf 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -949,18 +949,22 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen Log.w(LOG_TAG, "Can't load icon drawable 0x" + Integer.toHexString(info.icon) + " for provider: " + info.provider); } else { - // Scale down the preview to something that is closer to the cellWidth/Height - int imageWidth = drawable.getIntrinsicWidth(); - int imageHeight = drawable.getIntrinsicHeight(); - int bitmapWidth = imageWidth; - int bitmapHeight = imageHeight; - if (imageWidth > imageHeight) { - bitmapWidth = cellWidth; - bitmapHeight = (int) (imageHeight * ((float) bitmapWidth / imageWidth)); + // Map the target width/height to the cell dimensions + int targetWidth = mWidgetSpacingLayout.estimateCellWidth(cellHSpan); + int targetHeight = mWidgetSpacingLayout.estimateCellHeight(cellVSpan); + int targetCellWidth; + int targetCellHeight; + if (targetWidth >= targetHeight) { + targetCellWidth = Math.min(targetWidth, cellWidth); + targetCellHeight = (int) (cellHeight * ((float) targetCellWidth / cellWidth)); } else { - bitmapHeight = cellHeight; - bitmapWidth = (int) (imageWidth * ((float) bitmapHeight / imageHeight)); + targetCellHeight = Math.min(targetHeight, cellHeight); + targetCellWidth = (int) (cellWidth * ((float) targetCellHeight / cellHeight)); } + // Map the preview to the target cell dimensions + int bitmapWidth = Math.min(targetCellWidth, drawable.getIntrinsicWidth()); + int bitmapHeight = (int) (drawable.getIntrinsicHeight() * + ((float) bitmapWidth / drawable.getIntrinsicWidth())); preview = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Config.ARGB_8888); renderDrawableToBitmap(drawable, preview, 0, 0, bitmapWidth, bitmapHeight); @@ -989,7 +993,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen } } else { // Otherwise, ensure that we are properly sized within the cellWidth/Height - if (targetWidth > targetHeight) { + if (targetWidth >= targetHeight) { bitmapWidth = Math.min(targetWidth, cellWidth); bitmapHeight = (int) (targetHeight * ((float) bitmapWidth / targetWidth)); iconScale = Math.min((float) bitmapHeight / (mAppIconSize + 2 * minOffset), 1f); |