40 Commits

Author SHA1 Message Date
marianomartin
555356b03f Internal cleanup
PiperOrigin-RevId: 318134343
2020-06-26 14:06:52 -04:00
Material Design Team
342ea9ad25 Internal cleanup
PiperOrigin-RevId: 317147378
2020-06-19 13:42:35 -04:00
Material Design Team
76ffe35fef Cleanup
PiperOrigin-RevId: 313865830
2020-06-01 16:52:06 -04:00
isabellekim
1f9de68025 [All] Add support for materialThemeOverlay
Resolves https://github.com/material-components/material-components-android/pull/948

GIT_ORIGIN_REV_ID=5a8bb35a56c1b813df47d964de8482a26e0da66d
PiperOrigin-RevId: 293839172
2020-02-10 09:55:19 -05:00
Material Design Team
0a03911f89 Add more a11y support to AppBarLayout's BaseBehavior.
PiperOrigin-RevId: 289692654
2020-01-14 15:05:59 -08:00
dniz
2059499085 Fix AppBarLayout statusBarForeground issue where status bar drawable is drawn behind content
Resolves https://github.com/material-components/material-components-android/issues/824

PiperOrigin-RevId: 285981837
2019-12-17 17:07:12 -05:00
Material Design Team
5f017cd5cd Migrate away from deprecated behavior annotation
PiperOrigin-RevId: 271616445
2019-09-27 14:59:16 -04:00
Material Design Team
5e9b0dd917 Automated g4 rollback of changelist 267646424
PiperOrigin-RevId: 267814621
2019-09-12 13:51:28 -04:00
Material Design Team
2d03e4084d Migrate away from deprecated behavior annotation
PiperOrigin-RevId: 267646424
2019-09-12 13:49:58 -04:00
marianomartin
215a839598 Internal cleanup
PiperOrigin-RevId: 267504117
2019-09-12 13:48:16 -04:00
cketcham
cb1674662a Add @NonNull and @Nullable annotations
PiperOrigin-RevId: 264619150
2019-08-26 11:01:22 -04:00
dniz
cc73c2a630 Update TODOs
PiperOrigin-RevId: 259535844
2019-07-23 11:21:39 -04:00
isabellekim
a628bf516b Revert the library to compile with Java 7: revert lambdas, add necessary casts, and make some variables final.
Continue compile shrine demo, catalog, and tests with Java 8.

PiperOrigin-RevId: 257874888
2019-07-15 19:19:23 -04:00
marianomartin
164bf0fabd Internal cleanup
PiperOrigin-RevId: 255609320
2019-07-03 14:02:53 -04:00
dniz
5df3bebd63 Update elevation overlays to be based absolute elevation, factoring in the elevation of all parent views
Will follow-up with TabLayout absolute elevation separately

Resolves https://github.com/material-components/material-components-android/issues/381

PiperOrigin-RevId: 255404830
2019-07-03 13:55:49 -04:00
marianomartin
367b295624 Internal cleanup
PiperOrigin-RevId: 254414602
2019-06-24 17:12:42 -04:00
dniz
3b7e1b4d71 Update AppBarLayout lift on scroll finding of liftOnScrollTargetViewId to be based on nested scrolling view instead of Activity when possible
PiperOrigin-RevId: 253637012
2019-06-18 13:47:01 -04:00
marianomartin
b9147d4f2d Remove some lint warnings from baseline
PiperOrigin-RevId: 253036361
2019-06-18 13:24:50 -04:00
cketcham
bff75f2d3e Update to lamdas
PiperOrigin-RevId: 252846439
2019-06-18 13:21:02 -04:00
marianomartin
5a5d311a36 Check more lint warnings, show warnings as errors.
PiperOrigin-RevId: 252822573
2019-06-18 13:20:15 -04:00
Material Design Team
3c5f9f6cb0 Migrate CoordinatorLayout android support libraries to androidx
PiperOrigin-RevId: 248819271
2019-05-21 12:03:28 -04:00
Chris Banes
5b94ec83a7 Add statusBarForeground functionality to AppBarLayout
Currently AppBarLayout lacks the functionality which
CollapsingToolbarLayout does, to draw a drawable behind
the status bar. This CL adds that functionality.

Also added related functionality to Catalog

PiperOrigin-RevId: 242949840
2019-04-19 15:31:25 -04:00
dniz
6d4ffa29e3 AppBarLayout Dark Theme Elevation Overlays support, including animated overlay for Lift On Scroll
PiperOrigin-RevId: 241791205
2019-04-05 15:47:39 -04:00
Chris Banes
78054fe4ea AppBarLayout + WindowInset handling fixes
When AppBarLayout is used with a CollapsingToolbarLayout
child, it currently does not handle WindowInsets
very well. This commit fixes that by properly handling
insets.

The primary issue is when an AppBarLayout is used
with a single Toolbar (very common use case), where
the Toolbar will currently be displayed behind the status bar.

Another issue is with HeaderScrollingViewBehavior.
To workaround CoordinatorLayout using its 'compatible measuring'
for insets, the behavior manually sets the scrolling view to fit
system windows. This has other issues though because
that view will get padded in. Fixed by manually adding the insets
back into the measured dimensions.

Also updated the catalog layouts to make use of
android:fitsSystemWindows=true

Resolves https://github.com/material-components/material-components-android/pull/299

PiperOrigin-RevId: 238396626
2019-03-22 16:08:28 -04:00
Material Design Team
76a9b23443 Add SCROLL_FLAG_NO_SCROLL flag for AppBarLayout.LayoutParams
PiperOrigin-RevId: 234683507
2019-02-24 14:25:13 -05:00
dniz
80aedb96ab Update AppBarLayout to new NestedScrolling3 API
Fixes issue where item click is ignored within one second of fling

PiperOrigin-RevId: 229957998
2019-01-18 14:30:27 -05:00
Material Design Team
3b066d9e65 Fix grammar in javadoc.
PiperOrigin-RevId: 227849552
2019-01-10 16:05:50 -05:00
cketcham
dc72aaeed4 Migrate Gradle build and sources to androidx
PiperOrigin-RevId: 225551505
2018-12-21 11:07:45 -05:00
Alex Lockwood
0c9094a1eb [AppBarLayout] Update AppBarLayout to use the 3-arg view constructor
Without this fix, it is impossible for developers to properly make proper use of the `defStyleAttr` view constructor argument.

This PR fixes the bug filed here: https://issuetracker.google.com/issues/117316283

Resolves https://github.com/material-components/material-components-android/pull/212

PiperOrigin-RevId: 216750232
2018-10-11 18:31:34 -04:00
dniz
e853c84767 Fix AppBarLayout liftOnScroll target view caching
PiperOrigin-RevId: 214066255
2018-09-28 16:19:17 -04:00
dniz
a313443f9e Update AppBarLayout liftOnScroll to support nested scrolling targets
- Add liftOnScrollTargetViewId attribute to allow client to specify the scrolling view that should be listened to for updating AppBarLayout lifted state.
- Use View#canScrollVertically instead of View#getScrollY to determine lifted state.

PiperOrigin-RevId: 213614055
2018-09-28 14:55:37 -04:00
marianomartin
585e2fede0 Remove constructor comments
PiperOrigin-RevId: 209762154
2018-08-28 16:34:43 -04:00
dniz
b30c567719 AppBarLayout expose setLiftable() and setLifted() as a workaround for ListView lift on scroll
Example of workaround:

  appBarLayout.setLiftable(true);
  listView.setOnScrollListener(
      new OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {}

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
          boolean isAtTop = firstVisibleItem == 0 && (view.getChildCount() == 0 || view.getChildAt(0).getTop() == 0);
          appBarLayout.setLifted(!isAtTop);
        }
      });

PiperOrigin-RevId: 202187470
2018-07-02 09:42:27 -04:00
dniz
005a0044c3 Update AppBarLayout liftOnScroll start scroll check to not depend on scrolling
view size

This fixes an issue where the app bar would not lift if a bottom margin is
applied to the scrolling view

PiperOrigin-RevId: 201008179
2018-06-20 17:28:13 -04:00
dniz
b4529d2a88 Remove unused MathUtils methods and add documentation. Also replace
MathUtils#constrain with Support Library MathUtils#clamp

PiperOrigin-RevId: 197905324
2018-05-30 17:31:27 -04:00
dniz
d592999d59 Infer initial lifted state for AppBarLayout lift on scroll. This preserves the app bar's elevation across screen rotations and saving/restoring of instance state.
PiperOrigin-RevId: 197754058
2018-05-30 17:19:08 -04:00
dniz
49b6f396ba Update AppBarLayout to support lift on scroll behavior
PiperOrigin-RevId: 197607028
2018-05-30 17:17:09 -04:00
dcarlsson
da9a170696 Fix typo in AppBarLayout documentation.
PiperOrigin-RevId: 195305707
2018-05-03 17:02:55 -04:00
dniz
b504d3fc3d Set up Gradle task for docs build
PiperOrigin-RevId: 194457377
2018-04-30 12:03:20 -04:00
dniz
9ca33544ac Update package name to com.google.android.material
PiperOrigin-RevId: 193236235
2018-04-30 11:24:23 -04:00