Animated tabbar with native control

Overview

SSCustomBottomNavigation

Kotlin Version Platform API

Getting Started

SSCustomBottomNavigation is a customizable bottom bar library with curved animations.

The actual features are:

  • Bottom Bar which have customizable text, color, background, icon.
  • Animated wave with customizable height

Demo


demo_data

Gradle Dependency

  • Add it in your root build.gradle at the end of repositories:

     allprojects {
         repositories {
     	...
     	maven { url 'https://jitpack.io' }
         }
     }
    
  • Add the dependency in your app's build.gradle file

     dependencies {
     	implementation 'com.github.simformsolutions:SSCustomBottomNavigation:1.0'
     }
    

All Attributes


Attribute Description Default
app:ss_defaultIconColor Set Default Icon Color #757575
app:ss_selectedIconColor Set Selected Icon Color #00C957
app:ss_iconTextColor Set Bottom Bar Text Color #003F87
app:ss_iconTextTypeface Set Bottom Bar Fonts #none
app:ss_selectedIconTextColor Set Bottom Bar Selected Text Color #003F87
app:ss_iconTextSize Set Bottom Bar Text size 10sp
app:ss_waveHeight Set Wave Height 7
app:ss_backgroundBottomColor Set Background Color for Bottom Bar #FF5733
app:ss_countBackgroundColor Set Background Color for Notification Badge #ff0000
app:ss_countTextColor Set Notification Badge text Color #9281c1
app:ss_countTypeface Set Font for Notification Badge none
app:ss_rippleColor Set Ripple Color #757575
app:ss_shadowColor Set Bottom Bar Shadow Color shadowColor

Customization


alt text

Usage


<com.simform.custombottomnavigation.SSCustomBottomNavigation
            android:id="@+id/bottomNavigation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:ss_backgroundBottomColor="#ffffff"
            app:ss_circleColor="#ff6f00"
            app:ss_waveHeight="7"
            app:ss_countBackgroundColor="#ff6f00"
            app:ss_countTextColor="#ffffff"
            app:ss_countTypeface="fonts/graphik_semibold.ttf"
            app:ss_defaultIconColor="#6200EE"
            app:ss_iconTextColor="#6200EE"
            app:ss_iconTextTypeface="fonts/graphik_semibold.ttf"
            app:ss_rippleColor="#2f424242"
            app:ss_iconTextSize="14sp"
            app:ss_selectedIconColor="#ff6f00"
            app:ss_selectedIconTextColor="#ff6f00"
            app:ss_shadowColor="#1f212121" />

Credits


Find this library useful? ❤️

Support it by joining stargazers for this repository.

iOS Library.

  • Check our iOS Library also on Github

License

Copyright 2020 Simform Solutions

   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.
Comments
  • BottomNav - Change Icons

    BottomNav - Change Icons

    What if someone wants to change the image itself @bottomnav, you are only changing the color. How do one change the image of it. As well how is fragment going to get added?

    opened by ayushmaniac 13
  • How to remove the wave from an active link?

    How to remove the wave from an active link?

    Hello everyone, I'm trying to do the reverse of the SSCustomBottomNavigation.show(int id, boolean enableAnimation) method.

    I want to remove the wave when I click on another element on my page.

    Do you have any ideas? Is there a method to do this?

    enhancement 
    opened by vlaidet 9
  • Do not display icon on android below 7

    Do not display icon on android below 7

    i have probleam on display icon on android 6. icon display on android 7 and above but on android 6 i get this error : android.content.res.Resources$NotFoundException: File res/drawable-xhdpi-v4/ic_home.png

    opened by MahdiFarzami 8
  • error

    error

    Caused by: java.lang.IllegalStateException: Activity com.training.codefather.MainActivity@75d6ba3 does not have an ActionBar set via setSupportActionBar() com.training.codefather.MainActivity.setBottomNavigationWithNavController(MainActivity.kt:47) at com.training.codefather.MainActivity.onCreate(MainActivity.kt:23)

    opened by aliking1400 0
  • error gradle

    error gradle

    Caused by: java.lang.IllegalStateException: Activity com.training.codefather.MainActivity@75d6ba3 does not have an ActionBar set via setSupportActionBar() com.training.codefather.MainActivity.setBottomNavigationWithNavController(MainActivity.kt:47) at com.training.codefather.MainActivity.onCreate(MainActivity.kt:23)

    opened by aliking1400 0
  • ICONS remains activated when other icon selected

    ICONS remains activated when other icon selected

    If we switched between menu too quickly then strange phenomena is observed, I am attaching Screen Recording for reference

    Note: This this is observed while performing Negative Testing. Please help with some kind of workaround for same

    https://user-images.githubusercontent.com/23401081/195522482-f4760a08-1f97-4b92-9f9b-94c2e198a14a.mp4

    opened by karagarwal 0
  • Found a phenomenon, maybe a bug

    Found a phenomenon, maybe a bug

    https://user-images.githubusercontent.com/29477112/193274980-b06dc854-49c6-422c-b9bc-3060ba06b8fe.mp4

    Huawei mobile phone test only adds the EditView control to the fragment. The ED loses focus and cannot input content.

    opened by SmallRedSister 0
  • Disable re-create like ViewPager

    Disable re-create like ViewPager

    Hi, thanks for this library.

    I added my fragments with jetpack navigation but when i change tab from the menu, fragments are re-created. I want to continue where I left off when i reselect a menu item like viewpager.

    Is that possible? Thank you.

    bug 
    opened by toledorobson 1
  • Class file has wrong version 55.0, should be 52.0

    Class file has wrong version 55.0, should be 52.0

    Getting class file has wrong version 55.0, should be 52.0 while running the code. we are using JAVA_8 in our project

    import com.simform.custombottomnavigation.SSCustomBottomNavigation;
                                             ^
      bad class file: /Users/bitclass-admin/.gradle/caches/transforms-2/files-2.1/cdfc897a9d2a80fb9143ac1851be42a4/jetified-SSCustomBottomNavigation-3.2-api.jar(com/simform/custombottomnavigation/SSCustomBottomNavigation.class)
        class file has wrong version 55.0, should be 52.0
        Please remove or make sure it appears in the correct subdirectory of the classpath.
    

    Screenshot 2021-09-16 at 4 42 03 PM

    bug 
    opened by happysingh23828 3
Releases(3.4)
Owner
Simform Solutions
Simform Solutions
A simple xposed module that helps you fully control your location.

FuckLocation An simple xposed module that helps you fully control your location. 一个可以帮助你完全控制位置授权的模块 Currently, you may return custom location to speci

null 218 Dec 30, 2022
AndroRAT is a tool designed to give the control of the android system remotely and retrieve informations from it.

AndroRAT is a tool designed to give the control of the android system remotely and retrieve informations from it. Androrat is a client/server application developed in Java Android for the client side and the Server is in Python.

Neeraj Singh 1.5k Dec 30, 2022
Parking Robot based on 3D LiDAR. Keywords: Automatic Parking, SLAM, 3D Navigation, Remote Control, ROS, RRT

ELEC3875-Final-Project My undergraduate final project: Parking Robot based on 3D LiDAR. ELEC3875 / XJEL3875 Keywords: Automatic Parking, SLAM, 3D Navi

Hugo Hu 6 Oct 1, 2022
Lightweight compiler plugin intended for Kotlin/JVM library development and symbol visibility control.

Restrikt A Kotlin/JVM compiler plugin to restrict symbols access, from external project sources. This plugin offers two ways to hide symbols: An autom

Lorris Creantor 18 Nov 24, 2022
Simple android library to present an animated ferris wheel

Ferris Wheel View Overview An Android Library used to implement an animated Ferris Wheel in android. API SDK 15+ Written in Kotlin Supports landscape

Igor Lashkov 318 Dec 7, 2022
Display code with syntax highlighting :sparkles: in native way.

CodeView (Android) CodeView helps to show code content with syntax highlighting in native way. Description CodeView contains 3 core parts to implement

Kirill Biakov 827 Dec 22, 2022
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.

Codename One - Cross Platform Native Apps with Java or Kotlin Codename One is a mobile first cross platform environment for Java and Kotlin developers

Codename One 1.4k Jan 9, 2023
A React Native library making file access easier for developers as first class citizens, without the tears

React Native File Gateway A React Native library making file access easier for developers as first class citizens, without the tears. ⚠️ NOTE: This li

Jimmy Wei 4 Sep 11, 2021
Kotlin Native Xcode Plugin

Kotlin Native Xcode Support Plugin to facilitate debugging iOS applications using Kotlin Native in Xcode. Defines Kotlin files as source code, with ba

Touchlab 834 Jan 7, 2023
AppCode helper for Kotlin/Native and Xcode

Kotlin Xcode compatibility Gradle plugin The plugin is used by AppCode to set up Kotlin/Native project along with Xcode Sources A multi-build sample w

Kotlin 21 Oct 23, 2022
Swift-friendly api generator for Kotlin/Native frameworks

MOKO KSwift KSwift it's gradle plugin for generation Swift-friendly API for Kotlin/Native framework. Kotlin sealed interface/class to Swift enum Kotli

IceRock Development 226 Dec 28, 2022
Native android app made with Kotlin & Compose with example usage of Ktor, SqlDelight.

Delight-Playground ?? Native Android application built with Kotlin and Jetpack Compose. This app also illustrates the usage of advance libraries such

Kasem SM 41 Nov 6, 2022
An app architecture for Kotlin/Native on Android/iOS. Use Kotlin Multiplatform Mobile.

An app architecture for Kotlin/Native on Android/iOS. Use Kotlin Multiplatform Mobile. 项目架构主要分为原生系统层、Android/iOS业务SDK层、KMM SDK层、KMM业务逻辑SDK层、iOS sdkfra

libill 4 Nov 20, 2022
Ricky and Morty episode guide using KMM and Apollo GraphQL Native

Ricky And Morty Episodes - Kmm Ricky and Morty episode guide using KMM and Apollo GraphQL Native This is a simple guide on how to create an KMM projec

Julio Ribeiro 2 Apr 15, 2022
A plugin for Termux to use native Android GUI components from CLI applications.

Termux:GUI This is a plugin for Termux that enables command line programs to use the native android GUI. In the examples directory you can find demo v

null 342 Dec 23, 2022
Yet Another Native Loader for the JVM.

yanl - yet another native loader Yet another Native library extractor/loader for the JVM, written in Kotlin. why other libraries simply don't fit my n

Stardust Enterprises 5 Dec 23, 2022
Run Kotlin/JS libraries in Kotlin/JVM and Kotlin/Native programs

Zipline This library streamlines using Kotlin/JS libraries from Kotlin/JVM and Kotlin/Native programs. It makes it possible to do continuous deploymen

Cash App 1.5k Dec 30, 2022
🚀 Native iOS- and Android- Apps with JavaScript

Titanium Welcome to the Titanium open source project. Titanium provides a mature platform for developers to build completely native cross-platform mob

Team Appcelerator 2.6k Jan 4, 2023