67 Commits

Author SHA1 Message Date
Material Design Team
d548948b9c [TabLayout] Re-introducing TabLayout indicator animator fix from cl/283626239
Includes a preemptive fix for b/145715060, which was introduced in the first attempt.

PiperOrigin-RevId: 284229049
2019-12-08 15:21:33 -05:00
Material Design Team
d8c35d7de9 Automated g4 rollback of changelist 283626239
PiperOrigin-RevId: 284045727
2019-12-08 14:43:33 -05:00
Material Design Team
aa3164d43a [Tabs] Remove unnecessary animator cancellation in SlidingTabIndicator's onLayout method.
PiperOrigin-RevId: 283626239
2019-12-05 14:37:00 -05:00
Material Design Team
cc9b9c1103 Add CollectionInfos and CollectionItemInfos to tabs for accessibility. Also make a tab non-clickable by a11y when it is selected.
PiperOrigin-RevId: 281785987
2019-11-22 21:25:50 +00:00
connieshi
b200a3b6d2 Hardcode classname used to set accessibility item type to avoid being proguarded.
PiperOrigin-RevId: 281120646
2019-11-19 10:27:29 -08:00
Material Design Team
de92a9fa3b Expand TLM to TabLayoutMediator in Javadoc
This makes it consistent with the rest of the references in the Javadoc.

PiperOrigin-RevId: 277090650
2019-11-01 13:28:40 -07:00
ldjesper
a2434cd738 Remove deprecated method setOnTabSelectedListener
PiperOrigin-RevId: 272946975
2019-10-04 16:34:41 -04:00
ldjesper
440fea02c8 Make TabView a public final class since a field of that type is in the 1.0.0 public API
Reference: https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/tabs/TabLayout.java#L1888

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

PiperOrigin-RevId: 272592933
2019-10-03 11:44:06 -04:00
ldjesper
f5762173cb Prevent possible NPE in TabLayoutMediator when an item is removed from the Adapter
ViewPager2.getCurrentItem() may not exist if the last item was selected and it is removed from the adapter.

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

PiperOrigin-RevId: 272511958
2019-10-02 17:07:41 -04:00
connieshi
230ed9263f Add null checks to avoid NPE when tabs that have badges are reset .
Resolves https://github.com/material-components/material-components-android/issues/620

PiperOrigin-RevId: 271126107
2019-09-26 17:54:25 -04:00
marianomartin
215a839598 Internal cleanup
PiperOrigin-RevId: 267504117
2019-09-12 13:48:16 -04:00
marianomartin
0d4515cb46 Internal cleanup
PiperOrigin-RevId: 265971745
2019-08-29 14:59:20 -04:00
cketcham
9aa7c6c5e8 Add @NonNull and @Nullable annotations
PiperOrigin-RevId: 265133335
2019-08-29 11:16:11 -04:00
gauthams
3f4ae91ebc Don't include padding in idealHeight measurement for TabLayout child view
PiperOrigin-RevId: 264194304
2019-08-20 11:13:51 -04:00
Material Design Team
a313efe1f2 Let go of adapter in detach()
Don't hold on to the adapter to prevent memory leaks.

PiperOrigin-RevId: 262918018
2019-08-16 15:56:42 -04:00
gauthams
3085967e11 Enable TabLayout to wrap_content for its height if the tab items are taller than the default TabLayout height
PiperOrigin-RevId: 262462019
2019-08-16 15:37:07 -04:00
melaniegoetz
94d2928c17 Rename TabLayoutMediator.OnConfigureTabCallback --> TabLayoutMediator. TabConfigurationStrategy
PiperOrigin-RevId: 261958592
2019-08-06 15:30:57 -04:00
melaniegoetz
571b9e427a Adding TabLayoutMediator documentation
PiperOrigin-RevId: 261720156
2019-08-06 15:17:13 -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
cd1b6cdf66 Update TabLayout elevation overlays to be based absolute elevation, factoring in the elevation of all parent views
Resolves https://github.com/material-components/material-components-android/issues/381

PiperOrigin-RevId: 255478483
2019-07-03 14:01:02 -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
marianomartin
2de39fafe0 Internal cleanup
PiperOrigin-RevId: 253799644
2019-06-18 13:57:49 -04:00
cketcham
bff75f2d3e Update to lamdas
PiperOrigin-RevId: 252846439
2019-06-18 13:21:02 -04:00
connieshi
b3980237a4 Rename Tab#showBadge to Tab#getOrCreateBadge(). No longer ensures that the badge is visible. User should call BadgeDrawable#setVisible(boolean).
PiperOrigin-RevId: 252635742
2019-06-18 11:57:19 -04:00
connieshi
6aab297f53 Remove context parameter from BadgeDrawable#getContentDescription(Context)
PiperOrigin-RevId: 251492075
2019-06-10 08:55:30 -07:00
connieshi
b247e00d8a Add Talkback support for badge + TabLayout.
PiperOrigin-RevId: 250397444
2019-05-29 16:27:19 -04:00
connieshi
5fdfd9d107 Begin integrating BadgeDrawable into TabLayout.
PiperOrigin-RevId: 250348653
2019-05-29 16:25:24 -04:00
marianomartin
455ba2557b Internal cleanup
PiperOrigin-RevId: 249490219
2019-05-24 14:22:06 -04:00
connieshi
5e78ba1440 Fix bug in controllable tabs demo that didn't show icon or label if they were switched from off to on and gravity was set to center.
PiperOrigin-RevId: 248330945
2019-05-16 17:18:15 -04:00
dniz
67e4489293 Remove constructor comments from TabLayoutMediator
PiperOrigin-RevId: 248139286
2019-05-16 12:50:03 -04:00
Material Design Team
95a93dfa99 Adding TabLayoutMediator to MDC tabs library
The TabLayoutMediator makes it possible for a ViewPager2 to be linked to
a TabLayout similarly to how a ViewPager was linked to TabLayout.

PiperOrigin-RevId: 248127710
2019-05-16 12:47:31 -04:00
Material Design Team
54df381127 Migrate viewpager android support libraries to androidx.
PiperOrigin-RevId: 247499141
2019-05-16 12:39:13 -04:00
Material Design Team
2bb0fa112e Adding ViewPager2 as dependency to MDC
This paves the way to add TabLayoutMediator to MDC's tabs library, which
makes it possible for a ViewPager2 to be linked to a TabLayout similarly
to how a ViewPager was linked to TabLayout.

PiperOrigin-RevId: 246496849
2019-05-03 11:04:35 -04:00
Material Design Team
2f3e1c4cf4 Add new MODE_AUTO setting for TabLayout. MODE_AUTO behaves like MODE_FIXED with GRAVITY_CENTER while the tabs fit in the content view. Once the tabs expand beyond the TabLayout width, the TabLayout behaves as MODE_SCROLLABLE.
PiperOrigin-RevId: 243852684
2019-04-19 21:21:27 -04:00
gauthams
c384ec5423 Add elevation overlay support to TabLayout
PiperOrigin-RevId: 243131594
2019-04-19 15:48:05 -04:00
gauthams
add453fe8f Fix link to deprecated API in TabLayout documentation
PiperOrigin-RevId: 242672044
2019-04-19 13:16:55 -04:00
cketcham
0ce688ddf2 Automated g4 rollback of changelist 239207045
PiperOrigin-RevId: 239229246
2019-03-22 16:55:47 -04:00
Material Design Team
af15a5f943 Adding TabLayoutMediator to MDC tabs library
The TabLayoutMediator makes it possible for a ViewPager2 to be linked to
a TabLayout similarly to how a ViewPager was linked to TabLayout.

PiperOrigin-RevId: 239207045
2019-03-22 16:51:43 -04:00
gauthams
1db449c897 Refactor dpToPx method into ViewUtils
PiperOrigin-RevId: 235243747
2019-02-24 14:38:37 -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
9dab50e145 Expose methods for fine grained control of TabLayout animation
Makes the following methods public:
- setScrollPosition(int, float, boolean, boolean)
- selectTab(Tab)
- selectTab(Tab, boolean)

This makes it possible to separate the link between a TabLayout and a ViewPager to another class.

PiperOrigin-RevId: 228887919
2019-01-18 14:01:38 -05:00
cketcham
dc72aaeed4 Migrate Gradle build and sources to androidx
PiperOrigin-RevId: 225551505
2018-12-21 11:07:45 -05:00
cketcham
cce3b93a9d Remove binary incompatibility between 27.1.1 and 28.0.0 for TabLayout
PiperOrigin-RevId: 223444074
2018-12-06 11:39:28 -05:00
melaniegoetz
bd2a4484c3 Update tablayout javadocs to refer to the method correctly
PiperOrigin-RevId: 222443665
2018-12-06 11:20:25 -05:00