Migrate to material components bottom navigation (#1244)

This commit is contained in:
Rafał Borcz
2021-04-03 11:46:36 +02:00
committed by GitHub
parent 792de4cd3d
commit 0bdd33ef4a
8 changed files with 47 additions and 49 deletions

View File

@ -26,8 +26,6 @@ import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.aurelhubert.ahbottomnavigation.AHBottomNavigation.TitleState.ALWAYS_SHOW
import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem
import com.google.android.material.elevation.ElevationOverlayProvider
import com.ncapdevi.fragnav.FragNavController
import com.ncapdevi.fragnav.FragNavController.Companion.HIDE
@ -220,32 +218,21 @@ class MainActivity : BaseActivity<MainPresenter, ActivityMainBinding>(), MainVie
}
with(binding.mainBottomNav) {
addItems(
listOf(
AHBottomNavigationItem(R.string.grade_title, R.drawable.ic_main_grade, 0),
AHBottomNavigationItem(
R.string.attendance_title,
R.drawable.ic_main_attendance,
0
),
AHBottomNavigationItem(R.string.exam_title, R.drawable.ic_main_exam, 0),
AHBottomNavigationItem(
R.string.timetable_title,
R.drawable.ic_main_timetable,
0
),
AHBottomNavigationItem(R.string.more_title, R.drawable.ic_main_more, 0)
)
)
accentColor = getThemeAttrColor(R.attr.colorPrimary)
inactiveColor = getThemeAttrColor(R.attr.colorOnSurface, 153)
defaultBackgroundColor =
overlayProvider.compositeOverlayWithThemeSurfaceColorIfNeeded(dpToPx(8f))
titleState = ALWAYS_SHOW
currentItem = startMenuIndex
isBehaviorTranslationEnabled = false
setTitleTextSizeInSp(10f, 10f)
setOnTabSelectedListener(presenter::onTabSelected)
with(menu) {
add(Menu.NONE, 0, Menu.NONE, R.string.grade_title)
.setIcon(R.drawable.ic_main_grade)
add(Menu.NONE, 1, Menu.NONE, R.string.attendance_title)
.setIcon(R.drawable.ic_main_attendance)
add(Menu.NONE, 2, Menu.NONE, R.string.exam_title)
.setIcon(R.drawable.ic_main_exam)
add(Menu.NONE, 3, Menu.NONE, R.string.timetable_title)
.setIcon(R.drawable.ic_main_timetable)
add(Menu.NONE, 4, Menu.NONE, R.string.more_title)
.setIcon(R.drawable.ic_main_more)
}
selectedItemId = startMenuIndex
setOnNavigationItemSelectedListener { presenter.onTabSelected(it.itemId, false) }
setOnNavigationItemReselectedListener { presenter.onTabSelected(it.itemId, true) }
}
with(navController) {

View File

@ -0,0 +1,19 @@
package io.github.wulkanowy.ui.widgets
import android.annotation.SuppressLint
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import androidx.viewpager.widget.ViewPager
class SwipeDisabledViewPager : ViewPager {
constructor(context: Context) : super(context)
constructor(context: Context, attr: AttributeSet) : super(context, attr)
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(ev: MotionEvent) = false
override fun onInterceptTouchEvent(ev: MotionEvent) = false
}