From b1d629dc71f6f7eda06963053f27564856a29449 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Tue, 23 Apr 2019 11:35:53 -0400 Subject: [PATCH] Sharesheet - Scrolling UI adjustments Add elevation on scroll for 'scroll under' effect. Remove scrollbars. Bug: 129979914 Test: Visual inspection Change-Id: Ia2fd19fc2fd2f3f2e966991e8a907f25c6925df9 --- .../android/internal/app/ChooserActivity.java | 22 +++++++++++++++++++ core/res/res/layout/chooser_grid.xml | 4 ++-- core/res/res/values/dimens.xml | 1 + core/res/res/values/symbols.xml | 2 ++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index be66de22cdcf3..674c611eb88d9 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -479,6 +479,28 @@ public class ChooserActivity extends ResolverActivity { if (isSendAction(target)) { mResolverDrawerLayout.setOnScrollChangeListener(this::handleScroll); } + + final View chooserHeader = mResolverDrawerLayout.findViewById(R.id.chooser_header); + final float defaultElevation = chooserHeader.getElevation(); + final float chooserHeaderScrollElevation = + getResources().getDimensionPixelSize(R.dimen.chooser_header_scroll_elevation); + + mAdapterView.setOnScrollListener(new AbsListView.OnScrollListener() { + public void onScrollStateChanged(AbsListView view, int scrollState) { + } + + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, + int totalItemCount) { + if (view.getChildCount() > 0) { + if (firstVisibleItem > 0 || view.getChildAt(0).getTop() < 0) { + chooserHeader.setElevation(chooserHeaderScrollElevation); + return; + } + } + + chooserHeader.setElevation(defaultElevation); + } + }); } if (DEBUG) { diff --git a/core/res/res/layout/chooser_grid.xml b/core/res/res/layout/chooser_grid.xml index 4d5e262d83006..8727f4c9e0ef3 100644 --- a/core/res/res/layout/chooser_grid.xml +++ b/core/res/res/layout/chooser_grid.xml @@ -25,6 +25,7 @@ android:id="@id/contentPanel"> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index b81db158082c5..95a5ae6c84b80 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -729,5 +729,6 @@ 42dp 18dp 90dp + 4dp 288dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 186b84ceb2557..719fd2f7aa166 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2784,6 +2784,8 @@ + +