diff options
author | Matthew Ng <ngmatthew@google.com> | 2018-06-06 17:07:29 -0700 |
---|---|---|
committer | Matthew Ng <ngmatthew@google.com> | 2018-06-08 14:24:22 -0700 |
commit | 1b9c3d6fe3c1cfae239aa003b96d53f93d85f4a5 (patch) | |
tree | 66e8a88f3c6a3eee8b7697493f1f6fe85fb5d62e /quickstep | |
parent | 5ac259c46e8ed798b1313bd6421ade7249204215 (diff) | |
download | android_packages_apps_Trebuchet-1b9c3d6fe3c1cfae239aa003b96d53f93d85f4a5.tar.gz android_packages_apps_Trebuchet-1b9c3d6fe3c1cfae239aa003b96d53f93d85f4a5.tar.bz2 android_packages_apps_Trebuchet-1b9c3d6fe3c1cfae239aa003b96d53f93d85f4a5.zip |
Changed the Task Menu to overlay on top of the task view
When tapping the icon for each card in overview, the options will
overlay on top of the task view below the icon instead of popping up
above the task view.
Change-Id: I42746022432385d976134988262514a238a5066e
Fixes: 109676098
Test: go to overview, tap the icon for the task
Diffstat (limited to 'quickstep')
-rw-r--r-- | quickstep/res/drawable/ic_split_screen.xml | 37 | ||||
-rw-r--r-- | quickstep/res/drawable/task_menu_bg.xml | 38 | ||||
-rw-r--r-- | quickstep/res/layout/task_menu.xml | 40 | ||||
-rw-r--r-- | quickstep/res/layout/task_view_menu_option.xml | 50 | ||||
-rw-r--r-- | quickstep/res/values-land/dimens.xml | 19 | ||||
-rw-r--r-- | quickstep/res/values-land/styles.xml | 28 | ||||
-rw-r--r-- | quickstep/res/values/dimens.xml | 4 | ||||
-rw-r--r-- | quickstep/res/values/styles.xml | 28 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskMenuView.java | 77 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskThumbnailView.java | 14 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskView.java | 2 |
11 files changed, 253 insertions, 84 deletions
diff --git a/quickstep/res/drawable/ic_split_screen.xml b/quickstep/res/drawable/ic_split_screen.xml index 77bd3336d..110af914c 100644 --- a/quickstep/res/drawable/ic_split_screen.xml +++ b/quickstep/res/drawable/ic_split_screen.xml @@ -13,33 +13,16 @@ See the License for the specific language governing permissions and limitations under the License. --> - <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="88.0dp" - android:height="88.0dp" - android:viewportWidth="88.0" - android:viewportHeight="88.0" > + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> <path - android:pathData="M 32,11 - C 32,11 68,11 68,11 - 76.74,11.06 76.98,12.76 77,21 - 77.01,25.97 78.50,38.23 73.85,40.98 - 71.80,42.19 68.35,42 66,42 - 66,42 22,42 22,42 - 18.82,41.99 14.87,42.38 12.60,39.69 - 10.71,37.44 11.01,33.77 11,31 - 10.99,25.54 9.53,16.08 13.31,12.02 - 18.07,10.21 26.66,11 32,11 Z - M 32,46 - C 32,46 68,46 68,46 - 76.74,46.06 76.98,47.76 77,56 - 77.01,60.97 78.50,73.23 73.85,75.98 - 71.80,77.19 68.35,77 66,77 - 66,77 22,77 22,77 - 18.82,76.99 14.87,77.38 12.60,74.69 - 10.71,72.44 11.01,68.77 11,66 - 10.99,60.54 9.53,51.08 13.31,47.02 - 18.07,45.21 26.66,46 32,46 Z" - android:fillColor="@android:color/white" /> -</vector>
\ No newline at end of file + android:fillColor="@android:color/white" + android:pathData="M18,4v5H6V4H18 M18,2H6C4.9,2,4,2.9,4,4v5c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2L18,2z" /> + <path + android:fillColor="@android:color/white" + android:pathData="M18,15v5H6v-5H18 M18,13H6c-1.1,0-2,0.9-2,2v5c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-5C20,13.9,19.1,13,18,13L18,13z" /> +</vector> diff --git a/quickstep/res/drawable/task_menu_bg.xml b/quickstep/res/drawable/task_menu_bg.xml new file mode 100644 index 000000000..d5597a9db --- /dev/null +++ b/quickstep/res/drawable/task_menu_bg.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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. +--> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:gravity="bottom"> + <!-- Shadow --> + <shape> + <gradient android:angle="270" + android:endColor="@android:color/transparent" + android:startColor="#26000000" /> + <size android:height="@dimen/task_card_menu_shadow_height" /> + </shape> + </item> + <item android:bottom="@dimen/task_card_menu_shadow_height"> + <!-- Background --> + <shape> + <corners + android:topLeftRadius="@dimen/task_corner_radius" + android:topRightRadius="@dimen/task_corner_radius" + android:bottomLeftRadius="0dp" + android:bottomRightRadius="0dp" /> + <solid android:color="?attr/popupColorPrimary" /> + </shape> + </item> +</layer-list> diff --git a/quickstep/res/layout/task_menu.xml b/quickstep/res/layout/task_menu.xml index b8466652e..bf55ece44 100644 --- a/quickstep/res/layout/task_menu.xml +++ b/quickstep/res/layout/task_menu.xml @@ -16,21 +16,31 @@ --> <com.android.quickstep.views.TaskMenuView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="@dimen/bg_popup_item_width" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:visibility="invisible" - android:elevation="@dimen/deep_shortcuts_elevation" + android:animateLayoutChanges="true" + android:background="@drawable/task_menu_bg" + android:paddingBottom="@dimen/task_card_menu_shadow_height" android:orientation="vertical" - android:background="?attr/popupColorPrimary" - android:divider="@drawable/all_apps_divider" - android:showDividers="middle" - android:animateLayoutChanges="true"> - <TextView - android:id="@+id/task_icon_and_name" - android:layout_width="match_parent" - android:layout_height="112dp" - android:textSize="14sp" - android:paddingTop="18dp" - android:drawablePadding="8dp" - android:gravity="center_horizontal"/> + android:visibility="invisible"> + + <TextView + android:id="@+id/task_icon_and_name" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawablePadding="@dimen/deep_shortcut_drawable_padding" + android:gravity="center_horizontal" + android:layout_marginBottom="16dp" + android:textSize="12sp"/> + + <LinearLayout + android:id="@+id/menu_option_layout" + style="@style/TaskMenu" + android:divider="@drawable/all_apps_divider" + android:showDividers="beginning" + android:paddingStart="@dimen/task_card_menu_horizontal_padding" + android:paddingEnd="@dimen/task_card_menu_horizontal_padding" + android:layout_width="match_parent" + android:layout_height="wrap_content"/> + </com.android.quickstep.views.TaskMenuView>
\ No newline at end of file diff --git a/quickstep/res/layout/task_view_menu_option.xml b/quickstep/res/layout/task_view_menu_option.xml new file mode 100644 index 000000000..102ae9bc2 --- /dev/null +++ b/quickstep/res/layout/task_view_menu_option.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 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. +--> + +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/TaskMenu.Option" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:orientation="vertical" + android:paddingTop="@dimen/task_card_menu_option_vertical_padding" + android:paddingBottom="@dimen/task_card_menu_option_vertical_padding" + android:background="?android:attr/selectableItemBackground" + android:theme="@style/PopupItem" > + + <View + android:id="@+id/icon" + android:layout_width="@dimen/system_shortcut_icon_size" + android:layout_height="@dimen/system_shortcut_icon_size" + android:layout_marginTop="@dimen/system_shortcut_header_icon_padding" + android:layout_marginBottom="@dimen/deep_shortcut_drawable_padding" + android:layout_gravity="center_horizontal" + android:backgroundTint="?android:attr/textColorTertiary"/> + + <TextView + style="@style/BaseIcon" + android:id="@+id/text" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="@dimen/popup_padding_end" + android:textSize="12sp" + android:textColor="?android:attr/textColorPrimary" + android:fontFamily="sans-serif" + android:gravity="center_horizontal" + android:layout_gravity="center_horizontal" + android:focusable="false" /> + +</LinearLayout> diff --git a/quickstep/res/values-land/dimens.xml b/quickstep/res/values-land/dimens.xml new file mode 100644 index 000000000..c03eaa2cf --- /dev/null +++ b/quickstep/res/values-land/dimens.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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="task_card_menu_horizontal_padding">24dp</dimen> +</resources>
\ No newline at end of file diff --git a/quickstep/res/values-land/styles.xml b/quickstep/res/values-land/styles.xml new file mode 100644 index 000000000..0824b4f55 --- /dev/null +++ b/quickstep/res/values-land/styles.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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> + <!-- Task Menu layout styles. --> + <style name="TaskMenu"> + <item name="android:orientation">horizontal</item> + </style> + + <!-- Task Menu Option layout styles. --> + <style name="TaskMenu.Option"> + <item name="android:layout_width">0dp</item> + <item name="android:layout_weight">1</item> + </style> +</resources>
\ No newline at end of file diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml index ed18bf5e3..acfc180ad 100644 --- a/quickstep/res/values/dimens.xml +++ b/quickstep/res/values/dimens.xml @@ -18,7 +18,6 @@ <dimen name="task_thumbnail_top_margin">24dp</dimen> <dimen name="task_thumbnail_icon_size">48dp</dimen> - <dimen name="task_menu_background_radius">12dp</dimen> <dimen name="task_corner_radius">2dp</dimen> <dimen name="recents_page_spacing">10dp</dimen> <dimen name="quickscrub_adjacent_visible_width">20dp</dimen> @@ -41,6 +40,9 @@ <!-- Total space (start + end) between the task card and the edge of the screen in various configurations --> <dimen name="task_card_vert_space">40dp</dimen> + <dimen name="task_card_menu_option_vertical_padding">8dp</dimen> + <dimen name="task_card_menu_shadow_height">3dp</dimen> + <dimen name="task_card_menu_horizontal_padding">0dp</dimen> <dimen name="portrait_task_card_horz_space">136dp</dimen> <dimen name="landscape_task_card_horz_space">200dp</dimen> <dimen name="multi_window_task_card_horz_space">100dp</dimen> diff --git a/quickstep/res/values/styles.xml b/quickstep/res/values/styles.xml new file mode 100644 index 000000000..bb364ff6d --- /dev/null +++ b/quickstep/res/values/styles.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2018 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> + <!-- Task Menu layout styles. --> + <style name="TaskMenu"> + <item name="android:orientation">vertical</item> + </style> + + <!-- Task Menu Option layout styles. --> + <style name="TaskMenu.Option"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + </style> +</resources>
\ No newline at end of file diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.java b/quickstep/src/com/android/quickstep/views/TaskMenuView.java index dd90c8867..39f532320 100644 --- a/quickstep/src/com/android/quickstep/views/TaskMenuView.java +++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.java @@ -16,19 +16,19 @@ package com.android.quickstep.views; +import static com.android.quickstep.views.TaskThumbnailView.DIM_ALPHA; + import android.animation.Animator; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Context; -import android.graphics.Outline; -import android.graphics.Point; +import android.content.res.Configuration; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.MotionEvent; -import android.view.View; -import android.view.ViewOutlineProvider; -import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.ViewGroup; +import android.widget.LinearLayout; import android.widget.TextView; import com.android.launcher3.AbstractFloatingView; @@ -37,8 +37,8 @@ import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.anim.AnimationSuccessListener; +import com.android.launcher3.anim.Interpolators; import com.android.launcher3.anim.RoundedRectRevealOutlineProvider; -import com.android.launcher3.shortcuts.DeepShortcutView; import com.android.launcher3.views.BaseDragLayer; import com.android.quickstep.TaskSystemShortcut; import com.android.quickstep.TaskUtils; @@ -58,12 +58,14 @@ public class TaskMenuView extends AbstractFloatingView { new TaskSystemShortcut.Install(), }; - private static final long OPEN_CLOSE_DURATION = 220; + private static final int REVEAL_OPEN_DURATION = 150; + private static final int REVEAL_CLOSE_DURATION = 100; private BaseDraggingActivity mActivity; private TextView mTaskIconAndName; private AnimatorSet mOpenCloseAnimator; private TaskView mTaskView; + private LinearLayout mOptionLayout; public TaskMenuView(Context context, AttributeSet attrs) { this(context, attrs, 0); @@ -73,20 +75,13 @@ public class TaskMenuView extends AbstractFloatingView { super(context, attrs, defStyleAttr); mActivity = BaseDraggingActivity.fromContext(context); - setClipToOutline(true); - setOutlineProvider(new ViewOutlineProvider() { - @Override - public void getOutline(View view, Outline outline) { - float r = getResources().getDimensionPixelSize(R.dimen.task_menu_background_radius); - outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), r); - } - }); } @Override protected void onFinishInflate() { super.onFinishInflate(); mTaskIconAndName = findViewById(R.id.task_icon_and_name); + mOptionLayout = findViewById(R.id.menu_option_layout); } @Override @@ -148,6 +143,12 @@ public class TaskMenuView extends AbstractFloatingView { mTaskIconAndName.setText(TaskUtils.getTitle(getContext(), taskView.getTask())); mTaskIconAndName.setOnClickListener(v -> close(true)); + // Move the icon and text up half an icon size to lay over the TaskView + LinearLayout.LayoutParams params = + (LinearLayout.LayoutParams) mTaskIconAndName.getLayoutParams(); + params.topMargin = (int) -getResources().getDimension(R.dimen.task_thumbnail_top_margin); + mTaskIconAndName.setLayoutParams(params); + for (TaskSystemShortcut menuOption : MENU_OPTIONS) { OnClickListener onClickListener = menuOption.getOnClickListener(mActivity, taskView); if (onClickListener != null) { @@ -157,21 +158,24 @@ public class TaskMenuView extends AbstractFloatingView { } private void addMenuOption(TaskSystemShortcut menuOption, OnClickListener onClickListener) { - DeepShortcutView menuOptionView = (DeepShortcutView) mActivity.getLayoutInflater().inflate( - R.layout.system_shortcut, this, false); - menuOptionView.getIconView().setBackgroundResource(menuOption.iconResId); - menuOptionView.getBubbleText().setText(menuOption.labelResId); + ViewGroup menuOptionView = (ViewGroup) mActivity.getLayoutInflater().inflate( + R.layout.task_view_menu_option, this, false); + menuOptionView.findViewById(R.id.icon).setBackgroundResource(menuOption.iconResId); + ((TextView) menuOptionView.findViewById(R.id.text)).setText(menuOption.labelResId); menuOptionView.setOnClickListener(onClickListener); - addView(menuOptionView); + mOptionLayout.addView(menuOptionView); } private void orientAroundTaskView(TaskView taskView) { measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED); mActivity.getDragLayer().getDescendantRectRelativeToSelf(taskView, sTempRect); Rect insets = mActivity.getDragLayer().getInsets(); - int x = sTempRect.left + (sTempRect.width() - getMeasuredWidth()) / 2 - insets.left; - setX(Utilities.isRtl(getResources()) ? -x : x); - setY(sTempRect.top - mTaskIconAndName.getPaddingTop() - insets.top); + BaseDragLayer.LayoutParams params = (BaseDragLayer.LayoutParams) getLayoutParams(); + params.width = sTempRect.width(); + setLayoutParams(params); + setX(Utilities.isRtl(getResources()) ? -sTempRect.left : sTempRect.left); + setY(sTempRect.top + getResources().getDimension(R.dimen.task_thumbnail_top_margin) + - insets.top); } private void animateOpen() { @@ -188,8 +192,13 @@ public class TaskMenuView extends AbstractFloatingView { return; } mOpenCloseAnimator = LauncherAnimUtils.createAnimatorSet(); - mOpenCloseAnimator.play(createOpenCloseOutlineProvider() - .createRevealAnimator(this, closing)); + + final Animator revealAnimator = createOpenCloseOutlineProvider() + .createRevealAnimator(this, closing); + revealAnimator.setInterpolator(Interpolators.DEACCEL); + mOpenCloseAnimator.play(revealAnimator); + mOpenCloseAnimator.play(ObjectAnimator.ofFloat(mTaskView.getThumbnail(), DIM_ALPHA, + closing ? 0 : TaskView.MAX_PAGE_SCRIM_ALPHA)); mOpenCloseAnimator.addListener(new AnimationSuccessListener() { @Override public void onAnimationStart(Animator animation) { @@ -204,8 +213,7 @@ public class TaskMenuView extends AbstractFloatingView { } }); mOpenCloseAnimator.play(ObjectAnimator.ofFloat(this, ALPHA, closing ? 0 : 1)); - mOpenCloseAnimator.setDuration(OPEN_CLOSE_DURATION); - mOpenCloseAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); + mOpenCloseAnimator.setDuration(closing ? REVEAL_CLOSE_DURATION: REVEAL_OPEN_DURATION); mOpenCloseAnimator.start(); } @@ -215,18 +223,9 @@ public class TaskMenuView extends AbstractFloatingView { } private RoundedRectRevealOutlineProvider createOpenCloseOutlineProvider() { - int iconSize = getResources().getDimensionPixelSize(R.dimen.task_thumbnail_icon_size); - float fromRadius = iconSize / 2; - float toRadius = getResources().getDimensionPixelSize( - R.dimen.task_menu_background_radius); - Point iconCenter = new Point(getWidth() / 2, mTaskIconAndName.getPaddingTop() + iconSize / 2); - Rect fromRect = new Rect(iconCenter.x, iconCenter.y, iconCenter.x, iconCenter.y); + float radius = getResources().getDimension(R.dimen.task_corner_radius); + Rect fromRect = new Rect(0, 0, getWidth(), 0); Rect toRect = new Rect(0, 0, getWidth(), getHeight()); - return new RoundedRectRevealOutlineProvider(fromRadius, toRadius, fromRect, toRect) { - @Override - public boolean shouldRemoveElevationDuringAnimation() { - return true; - } - }; + return new RoundedRectRevealOutlineProvider(radius, radius, fromRect, toRect); } } diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java index d9dfd1815..07f22aada 100644 --- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java +++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java @@ -29,7 +29,6 @@ import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.Shader; -import android.support.v4.graphics.ColorUtils; import android.util.AttributeSet; import android.util.FloatProperty; import android.util.Property; @@ -68,6 +67,19 @@ public class TaskThumbnailView extends View { } }; + public static final Property<TaskThumbnailView, Float> DIM_ALPHA = + new FloatProperty<TaskThumbnailView>("dimAlpha") { + @Override + public void setValue(TaskThumbnailView thumbnail, float dimAlpha) { + thumbnail.setDimAlpha(dimAlpha); + } + + @Override + public Float get(TaskThumbnailView thumbnailView) { + return thumbnailView.mDimAlpha; + } + }; + private final float mCornerRadius; private final BaseActivity mActivity; diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index a7690e1e3..468efd8f9 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -71,7 +71,7 @@ public class TaskView extends FrameLayout implements TaskCallbacks, PageCallback * The alpha of a black scrim on a page in the carousel as it leaves the screen. * In the resting position of the carousel, the adjacent pages have about half this scrim. */ - private static final float MAX_PAGE_SCRIM_ALPHA = 0.4f; + public static final float MAX_PAGE_SCRIM_ALPHA = 0.4f; /** * How much to scale down pages near the edge of the screen. |