An efficient TabLayout library implemented with RecyclerView.
An efficient TabLayout library implemented with RecyclerView.
An efficient TabLayout library implemented with RecyclerView.
In your build.gradle:
repositories {
jcenter()
}
dependencies {
compile 'com.nshmura:recyclertablayout:1.5.0'
}
Define RecyclerTabLayout in xml layout with custom attributes.
…
Set up with the ViewPager.
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);
RecyclerTabLayout recyclerTabLayout = (RecyclerTabLayout) findViewById(R.id.recycler_tab_layout);
recyclerTabLayout.setUpWithViewPager(viewPager);
Or set up with ViewPager and Custom RecyclerView.Adapter that's extends RecyclerTabLayout.Adapter.
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);
RecyclerTabLayout recyclerTabLayout = (RecyclerTabLayout) findViewById(R.id.recycler_tab_layout);
recyclerTabLayout.setUpWithAdapter(new CustomRecyclerViewAdapter(viewPager));
Here's sample of custom RecyclerView adapter.
…
| attr | description |
|---|---|
| rtl_tabIndicatorColor | Indicator color |
| rtl_tabIndicatorHeight | Indicator height |
| rtl_tabBackground | Background drawable of each tab |
| rtl_tabTextAppearance | TextAppearence of each tab |
| rtl_tabSelectedTextColor | Text color of selected tab |
| rtl_tabOnScreenLimit | The number of OnScreen tabs. If this value is larger than 0, rtl_tabMinWidth and rtl_tabMaxWidth are ignored. |
| rtl_tabMinWidth | Minimum width of each tab |
| rtl_tabMaxWidth | Maximum width of each tab |
| rtl_tabPaddingStart | The padding of the start edge of each tab |
| rtl_tabPaddingTop | The padding of the top edge of each tab |
| rtl_tabPaddingEnd | The padding of the end edge of each tab |
| rtl_tabPaddingBottom | The padding of the bottom edge of each tab |
| rtl_tabPadding | The padding of all four edges of each tab |
| rtl_scrollEnabled | Sets whether tab scrolling is enabled |
The demo app uses the following resources.
color-names by codebrainz
https://github.com/codebrainz/color-names
Material Design icons by Google
https://github.com/google/material-design-icons
Copyright (C) 2017 nshmura
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
No open issues yet, or sync has not completed.