Skip to content

An efficient TabLayout implemented in Jetpack Compose ๐Ÿš€

License

Notifications You must be signed in to change notification settings

iamageo/MagicTabLayout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

35 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MagicTabLayout


An efficient TabLayout library implemented in Jetpack Compose ๐Ÿš€


License API repo size
forks stars

Anatomy

banner_magic_tab_layout

  1. MagicTabLayout
  2. tabIndicatorColor (Optional, default value: blue)
  3. MagicTabItem
  4. MagicTabItem title

Including in your project

Gradle

Add below codes to your root build.gradle file (not your module build.gradle file).

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

And add a dependency code to your module's build.gradle file.

dependencies {
    implementation 'com.github.iamageo:MagicTabLayout:1.0.3'     
}

Basic Usage

Add in you Activity file.

/* specify your tabs */
val tabs = listOf(
    MagicTabItem(title = "Home") { TabItemTest(item = "tab1") },
    MagicTabItem(title = "Favorites") { TabItemTest(item = "tab2") },
    MagicTabItem(title = "Settings") { TabItemTest(item = "tab3") },
)

Column() {
    MagicTabLayout(
        tabIndicatorColor = Color.Blue,
        tabColor = Color.White,
        tabList = tabs,
    )
}

/* in this case TabItemTest contains bellow composable function, but you can pass your functions */
@Composable
fun TabItemTest(item: String) {
    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(
            text = item,
            color = Color.Black,
        )
    }
}

License

    Copyright 2022 Geovani Amaral

    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.