60 Commits

Author SHA1 Message Date
Seanghay
3d074701a8 [AppBarLayout] Added format to appBarLayoutStyle attribute
Resolves https://github.com/material-components/material-components-android/pull/649

GIT_ORIGIN_REV_ID=59f78a367d5a3fe61a51a55b7b5ff88d4cac2b7b
PiperOrigin-RevId: 272719500
2019-10-03 19:40:03 -04:00
Material Design Team
5f017cd5cd Migrate away from deprecated behavior annotation
PiperOrigin-RevId: 271616445
2019-09-27 14:59:16 -04:00
dniz
a6be8f7e5b Update Primary and Surface ActionBar Theme Overlays to inherit from AppCompat ActionBar Theme Overlay
PiperOrigin-RevId: 271134096
2019-09-26 17:55:49 -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
dniz
72cfef981b Rename prefix mtrl_ to material_ in public resources
PiperOrigin-RevId: 265729121
2019-08-29 12:16:13 -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
dniz
0512f776c5 Remove sub-package AndroidManifest.xml files from lib directory
PiperOrigin-RevId: 258390736
2019-07-16 13:18:32 -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
dniz
68ddfee0ed Remove Material's legacy androidx core_ui and core_utils dependencies in favor of more granular dependencies (coordinatorlayout, graphics, interpolator, customview)
PiperOrigin-RevId: 257452569
2019-07-10 15:17:12 -04:00
dniz
37534561f2 Add component styles that swap between primary and surface styles depending on light vs dark theme
Makes it easier for devs to implement: https://material.io/design/color/dark-theme.html#custom-application

PiperOrigin-RevId: 256208965
2019-07-03 14:11:49 -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
marianomartin
8b98949b5c Remove usages of widget.(AppBarLayout|TextInputLayout|TextInputEditText)
PiperOrigin-RevId: 248134329
2019-05-16 12:48:48 -04:00
dniz
8f622283d1 Remove CSL theme attribute workarounds
Also update androidx dependencies to get latest fixes: appcompat to 1.1.0-alpha04 and core to 1.1.0-alpha05

PiperOrigin-RevId: 246804285
2019-05-06 10:34:04 -04:00
dniz
249e6f5281 Implement new MaterialToolbar class that provides support for Dark Theme elevation overlays, if not using AppBarLayout
PiperOrigin-RevId: 243054730
2019-04-19 15:37:34 -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
0425d3b475 Fix CollapsingToolbarLayout title bounds
Caused by AppBarLayout + WindowInset commit, which breaks some incorrect
assumptions in CTL. Fixed by breaking apart ViewOffsetHelper
so that its tracking of layout coordinates, and applying
offsets, are done at different times.

Also fixed catalog's AppBar sample layouts to set IDs,
enabling state restoration to work.

PiperOrigin-RevId: 239592953
2019-03-22 17:02:58 -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
dniz
fdbd553fc4 Set ActionMode background in Primary and Surface theme overlays
PiperOrigin-RevId: 234791713
2019-02-24 14:25:47 -05: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
dniz
11df79f95c Clean up Gradle build shorthands for appcompat/androidx libraries
PiperOrigin-RevId: 229369959
2019-01-18 14:13:26 -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
dniz
3637c23078 Dark theme color palette
PiperOrigin-RevId: 219143246
2018-11-01 16:05:24 -07:00
dniz
6e6692eb57 Update ActionBar to use new color system
PiperOrigin-RevId: 217321401
2018-10-28 18:14:54 -04:00
dniz
ea40a1d406 Update Toolbar to use new color system
PiperOrigin-RevId: 216770087
2018-10-11 18:31:53 -04: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
342627e8fb Add API to AppBarLayout Behavior to allow for disabling of offsetting
This makes it possible to disable the "scrolling" that happens when a scrolling
child has a height of match_parent but doesn't have enough actual content to
fill the screen (e.g., a RecyclerView with less than a few items). A scrolling
child with a height of wrap_content that doesn't fill the screen will already
not be scrolled/translated by the AppBarLayout Behavior.

PiperOrigin-RevId: 216255315
2018-10-11 18:12:39 -04:00
dniz
24a171ab53 Add config method to AppBarLayout to enable overlapping header with scrolling child
PiperOrigin-RevId: 215800888
2018-10-11 18:04:39 -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
dniz
6a1d85f08c Action Bar typography styling
PiperOrigin-RevId: 210604964
2018-08-29 11:31:51 -04:00
dniz
498d200f40 Fix Toolbar & ActionBar sizes for large screens
PiperOrigin-RevId: 210361782
2018-08-28 16:41:06 -04:00
marianomartin
585e2fede0 Remove constructor comments
PiperOrigin-RevId: 209762154
2018-08-28 16:34:43 -04:00
dniz
7cd55d872b Add Toolbar styles that use themed text appearances based on type scale
PiperOrigin-RevId: 202636817
2018-07-02 09:50:23 -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
Andhie Wong
e1c8886c6c [AppBar] appbar_scrolling_view_behavior as public res
PiperOrigin-RevId: 201416419
2018-06-20 17:30:59 -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
marianomartin
663fd7abff add res-public files
PiperOrigin-RevId: 198567215
2018-05-30 17:42:48 -04:00