diff options
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 22 | ||||
| -rw-r--r-- | core/res/res/layout/chooser_grid.xml | 4 | ||||
| -rw-r--r-- | core/res/res/values/dimens.xml | 1 | ||||
| -rw-r--r-- | 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 be66de22cdcf..674c611eb88d 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 4d5e262d8300..8727f4c9e0ef 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"> <RelativeLayout + android:id="@+id/chooser_header" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alwaysShow="true" @@ -62,11 +63,10 @@ android:layout_height="match_parent" android:id="@+id/resolver_list" android:clipToPadding="false" - android:scrollbarStyle="outsideOverlay" android:background="?attr/colorBackgroundFloating" + android:scrollbars="none" android:listSelector="@color/transparent" android:divider="@null" - android:scrollIndicators="top" android:elevation="1dp" android:nestedScrollingEnabled="true"/> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index b81db158082c..95a5ae6c84b8 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -729,5 +729,6 @@ <dimen name="resolver_icon_size">42dp</dimen> <dimen name="resolver_badge_size">18dp</dimen> <dimen name="chooser_target_width">90dp</dimen> + <dimen name="chooser_header_scroll_elevation">4dp</dimen> <dimen name="chooser_max_collapsed_height">288dp</dimen> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 186b84ceb255..719fd2f7aa16 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2784,6 +2784,8 @@ <java-symbol type="dimen" name="chooser_preview_image_border"/> <java-symbol type="dimen" name="chooser_max_collapsed_height" /> <java-symbol type="layout" name="chooser_grid" /> + <java-symbol type="id" name="chooser_header" /> + <java-symbol type="dimen" name="chooser_header_scroll_elevation" /> <java-symbol type="layout" name="chooser_grid_preview_text" /> <java-symbol type="layout" name="chooser_grid_preview_image" /> <java-symbol type="layout" name="chooser_grid_preview_file" /> |