Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

BubbleTabBar is a bottom navigation bar with customizable bubble-like tabs

License

NotificationsYou must be signed in to change notification settings

akshay2211/BubbleTabBar

Repository files navigation

BubbleTabBar

BubbleTabBar is bottom navigation bar with customizable bubble like tabs

Android WeeklyGoogle Dev LibraryCodacy BadgeBubbleTabBar

Usage

    <io.ak1.BubbleTabBarandroid:id="@+id/bubbleTabBar"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#FFF"android:elevation="16dp"android:padding="7dp"app:bubbletab_menuResource="@menu/list"app:bubbletab_custom_font="@font/opensans"app:bubbletab_disabled_icon_color="@color/colorPrimaryDark"app:bubbletab_horizontal_padding="20dp"app:bubbletab_icon_size="20dp"app:bubbletab_title_size="16sp"app:bubbletab_icon_padding="5sp"app:bubbletab_vertical_padding="10dp"app:bubbletab_tab_corner_radius="25dp">       </io.ak1.BubbleTabBar>

or just use

    <io.ak1.BubbleTabBarandroid:id="@+id/bubbleTabBar"android:layout_width="match_parent"android:layout_height="wrap_content"android:padding="7dp"app:bubbletab_menuResource="@menu/list">       </io.ak1.BubbleTabBar>

Inflate menu list

<menuxmlns:android="http://schemas.android.com/apk/res/android">    <itemandroid:id="@+id/home"android:icon="@drawable/ic_grid"android:title="Home"android:checked="true"android:color="@color/home"/>    <itemandroid:id="@+id/log"android:icon="@drawable/ic_clock"android:title="Logger"android:color="@color/logger"/></menu>

Add onclick listener

   bubbleTabBar.addBubbLeListener(object:OnBubbleClickListener{overridefunonBubbleClick(id:Int) {                                  }           })

Connect with components likeViewPager,ViewPager2 andNavController

Setup ViewPager to BubbleTabBar

    viewPager.addOnPageChangeListener(object:ViewPager.OnPageChangeListener {overridefunonPageScrolled(position:Int,positionOffset:Float,positionOffsetPixels:Int            ) {            }overridefunonPageSelected(position:Int) {                bubbleTabBar.setSelected(position,false)            }overridefunonPageScrollStateChanged(state:Int) {            }        })

Setup ViewPager2 to BubbleTabBar

    viewPager2.registerOnPageChangeCallback(object:ViewPager2.OnPageChangeCallback() {overridefunonPageSelected(position:Int) {super.onPageSelected(position)                                   bubbleTabBar.setSelected(position)                               }                           })

Setup NavController to BubbleTabBar

onNavDestinationSelected can be found inhere

    bubbleTabBar.addBubbleListener { id->                bubbleTabBar.onNavDestinationSelected(id, navController)            }    navController.addOnDestinationChangedListener { _, destination, _->                setSelectedWithId(destination.id,false)            }

Java Implementation

forJava-Implementation

Credits

Thanks toAriana for transition in sample

Download

include in app level build.gradle

       repositories {         mavenCentral()       }
        implementation'io.ak1:bubbletabbar:1.0.8'

or Maven:

        <dependency>            <groupId>io.ak1</groupId>            <artifactId>bubbletabbar</artifactId>            <version>1.0.8</version>            <type>pom</type>        </dependency>

or ivy:

        <dependencyorg='io.ak1'name='bubbletabbar'rev='1.0.8'>            <artifactname='bubbletabbar'ext='pom' ></artifact>        </dependency>

License

Licensed under the Apache License, Version 2.0,click here for the full license.

Author & support

This project was created byAkshay Sharma.

If you appreciate my work, consider buying me a cup of ☕ to keep me recharged 🤘 byPayPal

I love using my work and I'm available for contract work. Freelancing helps to maintain and keepmy open source projects up to date!


[8]ページ先頭

©2009-2025 Movatter.jp