Created
July 10, 2021 01:35
-
-
Save navczydev/a374bb8832fe4076e1c1ab56bd8c9bd9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.navigationrailsample | |
import android.content.res.Configuration | |
import android.os.Bundle | |
import android.widget.Toast | |
import androidx.appcompat.app.AppCompatActivity | |
import androidx.core.content.ContextCompat | |
import com.example.navigationrailsample.databinding.ActivityMainBinding | |
import com.google.android.material.badge.BadgeDrawable | |
import com.google.android.material.floatingactionbutton.FloatingActionButton | |
/** | |
* @author Nav Singh | |
* @see [com.google.android.material.bottomnavigation.BottomNavigationView] | |
* @see [com.google.android.material.navigationrail.NavigationRailView] | |
*/ | |
class MainActivity : AppCompatActivity() { | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
val activityMainBinding = ActivityMainBinding.inflate(layoutInflater) | |
setContentView(activityMainBinding.root) | |
// update the text based on the orientation | |
activityMainBinding.textview.text = when (resources.configuration.orientation) { | |
Configuration.ORIENTATION_PORTRAIT -> { | |
getString(R.string.bottom_nav_label) | |
} | |
else -> { | |
getString(R.string.nav_rail_label) | |
} | |
} | |
// add badge to alarm | |
val badgeDrawable = activityMainBinding.navigationRail?.getOrCreateBadge(R.id.alarms) | |
badgeDrawable?.run { | |
Toast.makeText(applicationContext, "Create badge", Toast.LENGTH_SHORT).show() | |
number = 999 | |
badgeTextColor = | |
ContextCompat.getColor(applicationContext, android.R.color.holo_red_light) | |
maxCharacterCount = 2 | |
badgeGravity = BadgeDrawable.TOP_START | |
isVisible = true | |
} | |
// remove badge | |
// activityMainBinding.navigationRail?.removeBadge(R.id.alarms) | |
activityMainBinding.bottomBar?.setOnItemSelectedListener { item -> | |
when (item.itemId) { | |
R.id.alarms -> { | |
Toast.makeText(this, "Alarms Clicked", Toast.LENGTH_SHORT).show() | |
true | |
} | |
else -> { | |
Toast.makeText(this, "Other item clicked", Toast.LENGTH_SHORT).show() | |
true | |
} | |
} | |
} | |
activityMainBinding.navigationRail?.headerView?.findViewById<FloatingActionButton>(R.id.fab_add) | |
?.setOnClickListener { | |
Toast.makeText(this, "Fab Clicked", Toast.LENGTH_SHORT).show() | |
} | |
activityMainBinding.navigationRail?.setOnItemSelectedListener { item -> | |
when (item.itemId) { | |
R.id.alarms -> { | |
Toast.makeText(this, "Alarms Clicked", Toast.LENGTH_SHORT).show() | |
true | |
} | |
else -> { | |
Toast.makeText(this, "Other item clicked", Toast.LENGTH_SHORT).show() | |
true | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment