Navigation tab strip with smooth interaction.
You can check the sample app here.
You can download a .aar
from GitHub's releases page.
Or use Gradle jCenter:
dependencies {
repositories {
mavenCentral()
maven {
url 'http://dl.bintray.com/gigamole/maven/'
}
}
compile 'com.github.devlight.navigationtabstrip:navigationtabstrip:+'
}
Or Gradle Maven Central:
compile 'com.github.devlight.navigationtabstrip:navigationtabstrip:1.0.4'
Or Maven:
<dependency>
<groupId>com.github.devlight.navigationtabstrip</groupId>
<artifactId>navigationtabstrip</artifactId>
<version>1.0.4</version>
<type>aar</type>
</dependency>
NavigationTabStrip
requires a minimum SDK version of 11.
Parameters
For NTS
you can set such parameters as:
-
color:
allows you to set strip color.
-
size:
allows you to set titles size. By default
NTS
use auto titles size. -
weight:
allows you to set weight(height) of strip.
-
factor:
allows you to set strip resize factor.
-
titles:
allows you to set
NTS
titles. This is your tabs. -
type:
allows you to set strip type - line or point.
-
gravity:
allows you to set strip gravity - top or bottom.
-
view pager:
allows you to connect
NTS
withViewPager
. If you want your can also setOnPageChangeListener
. -
typeface:
allows you to set custom typeface to your titles.
-
corners radius:
allows you to set corners radius of strip.
-
animation duration:
allows you to set animation duration.
-
inactive color:
allows you to set inactive titles color.
-
active color:
allows you to set active title color.
-
tab strip listener:
allows you to set listener which triggering on start or on end when you set tab index.
Tips
If your set ViewPager
you can action down on active tab and do like drag.
NTS
use only upper case titles.
Init
Check out in code init:
final NavigationTabStrip navigationTabStrip = (NavigationTabStrip) findViewById(R.id.nts);
navigationTabStrip.setTitles("Nav", "Tab", "Strip");
navigationTabStrip.setTabIndex(0, true);
navigationTabStrip.setTitleSize(15);
navigationTabStrip.setStripColor(Color.RED);
navigationTabStrip.setStripWeight(6);
navigationTabStrip.setStripFactor(2);
navigationTabStrip.setStripType(NavigationTabStrip.StripType.LINE);
navigationTabStrip.setStripGravity(NavigationTabStrip.StripGravity.BOTTOM);
navigationTabStrip.setTypeface("fonts/typeface.ttf");
navigationTabStrip.setCornersRadius(3);
navigationTabStrip.setAnimationDuration(300);
navigationTabStrip.setInactiveColor(Color.GRAY);
navigationTabStrip.setActiveColor(Color.WHITE);
navigationTabStrip.setOnPageChangeListener(...);
navigationTabStrip.setOnTabStripSelectedIndexListener(...);
Other methods check out in sample.
And XML init:
<com.gigamole.navigationtabstrip.NavigationTabStrip
android:layout_width="match_parent"
android:layout_height="50dp"
app:nts_color="#000"
app:nts_size="15sp"
app:nts_weight="3dp"
app:nts_factor="2.5"
app:nts_titles="@array/titles"
app:nts_type="point"
app:nts_gravity="top"
app:nts_typeface="fonts/typeface.otf"
app:nts_corners_radius="1.5dp"
app:nts_animation_duration="300"
app:nts_active_color="#000"
app:nts_inactive_color="#c4c4c4"/>
To report a specific problem or feature request, open a new issue on Github.
Apache 2.0 and MIT. See LICENSE file for details.
Made in DevLight Mobile Agency
Created by Basil Miller - @gigamole
If you'd like to support future development and new product features, please make a payments on Gratipay and Beerpay or become a patron on Patreon.
Also, if you use this library in applications that are available on Google Play, please report it to us or author.
Thanks in advance.