Add shapeAppearance and shapeAppearanceOverlay attributes. These attributes combine to support shapes theming. ShapeAppearance is modeled after TextAppearance. A shapeAppearance attribute contains a style reference that is meant to be defined at the theme level. Since changing anything defined in the shapeAppearance would clobber everything else in the ShapeAppearance, the shapeAppearanceOverlay attribute is provided for clients to modify the shapeAppearance.
PiperOrigin-RevId: 215273652
Add shapeAppearance and shapeAppearanceOverlay attributes. These attributes combine to support shapes theming. ShapeAppearance is modeled after TextAppearance. A shapeAppearance attribute contains a style reference that is meant to be defined at the theme level. Since changing anything defined in the shapeAppearance would clobber everything else in the ShapeAppearance, the shapeAppearanceOverlay attribute is provided for clients to modify the shapeAppearance.
PiperOrigin-RevId: 215242636
This commit renames ShapePathModel to ShapeAppearanceModel to align with the new shapeAppearance attributes that will be added for shape theming.
PiperOrigin-RevId: 214818189
- Original slide animation will be used for Widget.Design and unstyled Snackbars
- New fade + scale animation will be used for Widget.MaterialComponents Snackbars
PiperOrigin-RevId: 213669605
- 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
This was due to FloatingToolbar using <Button> for its layouts in API 23-25, which got automatically inflated to <MaterialButton> via the custom view inflater in MDC themes. However, the default MaterialButton styling (especially backgroundTint) was overriding the styling in the <Button>, resulting in a broken FloatingToolbar. This issue was not encountered on API 24/25 since there were likely theme/style changes in those versions that override this Button. From API 26 onwards, FloatingToolbar uses a TextView and ImageView instead of Button.
PiperOrigin-RevId: 213517896
- Fixes materialThemeOverlay case where client is not using our theme or style (e.g., AppCompat + component with no style set)
- Also refactors createThemedContext() to use obtainStyledAttributes with defStyleAttr and defStyleRes instead of getTheme().resolveAttribute()
PiperOrigin-RevId: 213464594
Anti-aliasing the Paint by default eliminates the appearance of jagged edges and corners.
Anti-aliasing is currently supported by calling setPaintFlags() on MaterialShapeDrawable, but it is not yet enabled by default.
PiperOrigin-RevId: 212709536