diff options
-rw-r--r-- | res/values/dimens.xml | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/DeviceProfile.java | 30 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 10 |
3 files changed, 37 insertions, 6 deletions
diff --git a/res/values/dimens.xml b/res/values/dimens.xml index c085142a2..9d8fec048 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -25,7 +25,8 @@ <dimen name="dynamic_grid_workspace_page_spacing">8dp</dimen> <dimen name="dynamic_grid_overview_min_icon_zone_height">80dp</dimen> <dimen name="dynamic_grid_overview_max_icon_zone_height">120dp</dimen> - <dimen name="dynamic_grid_overview_bar_max_width">280dp</dimen> + <dimen name="dynamic_grid_overview_bar_item_width">48dp</dimen> + <dimen name="dynamic_grid_overview_bar_spacer_width">68dp</dimen> <!-- Cling --> <dimen name="clingPunchThroughGraphicCenterRadius">94dp</dimen> diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 238dd22f4..1a99f1fee 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -31,6 +31,7 @@ import android.view.Display; import android.view.Gravity; import android.view.Surface; import android.view.View; +import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.WindowManager; import android.widget.FrameLayout; @@ -90,7 +91,8 @@ public class DeviceProfile { int overviewModeMinIconZoneHeightPx; int overviewModeMaxIconZoneHeightPx; - int overviewModeMaxBarWidthPx; + int overviewModeBarItemWidthPx; + int overviewModeBarSpacerWidthPx; float overviewModeIconZoneRatio; float overviewModeScaleFactor; @@ -175,8 +177,10 @@ public class DeviceProfile { res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_min_icon_zone_height); overviewModeMaxIconZoneHeightPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_max_icon_zone_height); - overviewModeMaxBarWidthPx = - res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_max_width); + overviewModeBarItemWidthPx = + res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_item_width); + overviewModeBarSpacerWidthPx = + res.getDimensionPixelSize(R.dimen.dynamic_grid_overview_bar_spacer_width); overviewModeIconZoneRatio = res.getInteger(R.integer.config_dynamic_grid_overview_icon_zone_percentage) / 100f; overviewModeScaleFactor = @@ -611,6 +615,21 @@ public class DeviceProfile { return isVerticalBarLayout() || isLargeTablet(); } + int getVisibleChildCount(ViewGroup parent) { + int visibleChildren = 0; + for (int i = 0; i < parent.getChildCount(); i++) { + if (parent.getChildAt(i).getVisibility() != View.GONE) { + visibleChildren++; + } + } + return visibleChildren; + } + + int calculateOverviewModeWidth(int visibleChildCount) { + return visibleChildCount * overviewModeBarItemWidthPx + + (visibleChildCount-1) * overviewModeBarSpacerWidthPx; + } + public void layout(Launcher launcher) { // Update search bar for live settings searchBarVisible = SettingsProvider.getBoolean(launcher, SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, @@ -765,12 +784,13 @@ public class DeviceProfile { } // Layout the Overview Mode -// View overviewMode = launcher.getOverviewPanel(); +// ViewGroup overviewMode = launcher.getOverviewPanel(); // if (overviewMode != null) { // Rect r = getOverviewModeButtonBarRect(); // lp = (FrameLayout.LayoutParams) overviewMode.getLayoutParams(); // lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; -// lp.width = Math.min(availableWidthPx, overviewModeMaxBarWidthPx); +// lp.width = Math.min(availableWidthPx, +// calculateOverviewModeWidth(getVisibleChildCount(overviewMode))); // lp.height = r.height(); // overviewMode.setLayoutParams(lp); // } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 274ac7e9b..9fd831514 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -268,10 +268,13 @@ public class Launcher extends Activity private FolderInfo mFolderInfo; private Hotseat mHotseat; + private View mOverviewPanel; private View mDarkPanel; OverviewSettingsPanel mOverviewSettingsPanel; +// private ViewGroup mOverviewPanel; + private View mAllAppsButton; private SearchDropTargetBar mSearchDropTargetBar; @@ -1262,6 +1265,13 @@ public class Launcher extends Activity popupMenu.show(); } + protected boolean hasSettings() { + return false; + } + + protected void startSettings() { + } + public interface QSBScroller { public void setScrollY(int scrollY); } |