mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Fix grid columns on tablets, split out common main_activity layout sections
This commit is contained in:
		@@ -70,7 +70,7 @@ class BrowseController :
 | 
			
		||||
    override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) {
 | 
			
		||||
        super.onChangeStarted(handler, type)
 | 
			
		||||
        if (type.isEnter) {
 | 
			
		||||
            (activity as? MainActivity)?.binding?.tabs?.apply {
 | 
			
		||||
            (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.apply {
 | 
			
		||||
                setupWithViewPager(binding.pager)
 | 
			
		||||
 | 
			
		||||
                // Show badge on tab for extension updates
 | 
			
		||||
@@ -92,7 +92,7 @@ class BrowseController :
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setExtensionUpdateBadge() {
 | 
			
		||||
        (activity as? MainActivity)?.binding?.tabs?.apply {
 | 
			
		||||
        (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.apply {
 | 
			
		||||
            val updates = preferences.extensionUpdatesCount().get()
 | 
			
		||||
            if (updates > 0) {
 | 
			
		||||
                val badge: BadgeDrawable? = getTabAt(1)?.orCreateBadge
 | 
			
		||||
 
 | 
			
		||||
@@ -218,7 +218,7 @@ class LibraryController(
 | 
			
		||||
    override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) {
 | 
			
		||||
        super.onChangeStarted(handler, type)
 | 
			
		||||
        if (type.isEnter) {
 | 
			
		||||
            (activity as? MainActivity)?.binding?.tabs?.setupWithViewPager(binding.libraryPager)
 | 
			
		||||
            (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.setupWithViewPager(binding.libraryPager)
 | 
			
		||||
            presenter.subscribeLibrary()
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -297,7 +297,7 @@ class LibraryController(
 | 
			
		||||
        // Delay the scroll position to allow the view to be properly measured.
 | 
			
		||||
        view.post {
 | 
			
		||||
            if (isAttached) {
 | 
			
		||||
                (activity as? MainActivity)?.binding?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true)
 | 
			
		||||
                (activity as? MainActivity)?.binding?.toolbarLayout?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -96,16 +96,16 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        setContentView(binding.root)
 | 
			
		||||
        setSupportActionBar(binding.toolbar)
 | 
			
		||||
        setSupportActionBar(binding.toolbarLayout.toolbar)
 | 
			
		||||
 | 
			
		||||
        // Draw edge-to-edge
 | 
			
		||||
        WindowCompat.setDecorFitsSystemWindows(window, false)
 | 
			
		||||
        binding.appbar.applyInsetter {
 | 
			
		||||
        binding.toolbarLayout.appbar.applyInsetter {
 | 
			
		||||
            type(navigationBars = true, statusBars = true) {
 | 
			
		||||
                padding(left = true, top = true, right = true)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        binding.rootFab.applyInsetter {
 | 
			
		||||
        binding.fabLayout.rootFab.applyInsetter {
 | 
			
		||||
            type(navigationBars = true) {
 | 
			
		||||
                margin()
 | 
			
		||||
            }
 | 
			
		||||
@@ -131,13 +131,13 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
            insets
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        tabAnimator = ViewHeightAnimator(binding.tabs, 0L)
 | 
			
		||||
        tabAnimator = ViewHeightAnimator(binding.toolbarLayout.tabs, 0L)
 | 
			
		||||
 | 
			
		||||
        if (binding.bottomNav != null) {
 | 
			
		||||
            bottomNavAnimator = ViewHeightAnimator(binding.bottomNav!!)
 | 
			
		||||
 | 
			
		||||
            // If bottom nav is hidden, make it visible again when the app bar is expanded
 | 
			
		||||
            binding.appbar.addOnOffsetChangedListener(
 | 
			
		||||
            binding.toolbarLayout.appbar.addOnOffsetChangedListener(
 | 
			
		||||
                AppBarLayout.OnOffsetChangedListener { _, verticalOffset ->
 | 
			
		||||
                    if (verticalOffset == 0) {
 | 
			
		||||
                        showNav(true)
 | 
			
		||||
@@ -186,7 +186,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        binding.toolbar.setNavigationOnClickListener {
 | 
			
		||||
        binding.toolbarLayout.toolbar.setNavigationOnClickListener {
 | 
			
		||||
            onBackPressed()
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -227,13 +227,13 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
            .launchIn(lifecycleScope)
 | 
			
		||||
 | 
			
		||||
        preferences.downloadedOnly()
 | 
			
		||||
            .asImmediateFlow { binding.downloadedOnly.isVisible = it }
 | 
			
		||||
            .asImmediateFlow { binding.toolbarLayout.downloadedOnly.isVisible = it }
 | 
			
		||||
            .launchIn(lifecycleScope)
 | 
			
		||||
 | 
			
		||||
        preferences.incognitoMode().asFlow()
 | 
			
		||||
            .drop(1)
 | 
			
		||||
            .onEach {
 | 
			
		||||
                binding.incognitoMode.isVisible = it
 | 
			
		||||
                binding.toolbarLayout.incognitoMode.isVisible = it
 | 
			
		||||
 | 
			
		||||
                // Close BrowseSourceController and its MangaController child when incognito mode is disabled
 | 
			
		||||
                if (!it) {
 | 
			
		||||
@@ -355,7 +355,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
 | 
			
		||||
        // Binding sometimes isn't actually instantiated yet somehow
 | 
			
		||||
        nav.setOnItemSelectedListener(null)
 | 
			
		||||
        binding?.toolbar.setNavigationOnClickListener(null)
 | 
			
		||||
        binding?.toolbarLayout?.toolbar.setNavigationOnClickListener(null)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun onBackPressed() {
 | 
			
		||||
@@ -408,7 +408,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
        supportActionBar?.setDisplayHomeAsUpEnabled(router.backstackSize != 1)
 | 
			
		||||
 | 
			
		||||
        // Always show appbar again when changing controllers
 | 
			
		||||
        binding.appbar.setExpanded(true)
 | 
			
		||||
        binding.toolbarLayout.appbar.setExpanded(true)
 | 
			
		||||
 | 
			
		||||
        if ((from == null || from is RootController) && to !is RootController) {
 | 
			
		||||
            showNav(visible = false, collapse = true)
 | 
			
		||||
@@ -419,34 +419,34 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (from is TabbedController) {
 | 
			
		||||
            from.cleanupTabs(binding.tabs)
 | 
			
		||||
            from.cleanupTabs(binding.toolbarLayout.tabs)
 | 
			
		||||
        }
 | 
			
		||||
        if (to is TabbedController) {
 | 
			
		||||
            tabAnimator.expand()
 | 
			
		||||
            to.configureTabs(binding.tabs)
 | 
			
		||||
            to.configureTabs(binding.toolbarLayout.tabs)
 | 
			
		||||
        } else {
 | 
			
		||||
            tabAnimator.collapse()
 | 
			
		||||
            binding.tabs.setupWithViewPager(null)
 | 
			
		||||
            binding.toolbarLayout.tabs.setupWithViewPager(null)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (from is FabController) {
 | 
			
		||||
            binding.rootFab.isVisible = false
 | 
			
		||||
            from.cleanupFab(binding.rootFab)
 | 
			
		||||
            binding.fabLayout.rootFab.isVisible = false
 | 
			
		||||
            from.cleanupFab(binding.fabLayout.rootFab)
 | 
			
		||||
        }
 | 
			
		||||
        if (to is FabController) {
 | 
			
		||||
            binding.rootFab.isVisible = true
 | 
			
		||||
            to.configureFab(binding.rootFab)
 | 
			
		||||
            binding.fabLayout.rootFab.isVisible = true
 | 
			
		||||
            to.configureFab(binding.fabLayout.rootFab)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        when (to) {
 | 
			
		||||
            is NoToolbarElevationController -> {
 | 
			
		||||
                binding.appbar.disableElevation()
 | 
			
		||||
                binding.toolbarLayout.appbar.disableElevation()
 | 
			
		||||
            }
 | 
			
		||||
            is ToolbarLiftOnScrollController -> {
 | 
			
		||||
                binding.appbar.enableElevation(true)
 | 
			
		||||
                binding.toolbarLayout.appbar.enableElevation(true)
 | 
			
		||||
            }
 | 
			
		||||
            else -> {
 | 
			
		||||
                binding.appbar.enableElevation(false)
 | 
			
		||||
                binding.toolbarLayout.appbar.enableElevation(false)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -482,16 +482,16 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
 | 
			
		||||
     */
 | 
			
		||||
    fun fixViewToBottom(view: View) {
 | 
			
		||||
        val listener = AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset ->
 | 
			
		||||
            val maxAbsOffset = appBarLayout.measuredHeight - binding.tabs.measuredHeight
 | 
			
		||||
            val maxAbsOffset = appBarLayout.measuredHeight - binding.toolbarLayout.tabs.measuredHeight
 | 
			
		||||
            view.translationY = -maxAbsOffset - verticalOffset.toFloat() + appBarLayout.marginTop
 | 
			
		||||
        }
 | 
			
		||||
        binding.appbar.addOnOffsetChangedListener(listener)
 | 
			
		||||
        binding.toolbarLayout.appbar.addOnOffsetChangedListener(listener)
 | 
			
		||||
        fixedViewsToBottom[view] = listener
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun clearFixViewToBottom(view: View) {
 | 
			
		||||
        val listener = fixedViewsToBottom.remove(view)
 | 
			
		||||
        binding.appbar.removeOnOffsetChangedListener(listener)
 | 
			
		||||
        binding.toolbarLayout.appbar.removeOnOffsetChangedListener(listener)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun setBottomNavBehaviorOnScroll() {
 | 
			
		||||
 
 | 
			
		||||
@@ -277,7 +277,7 @@ class MangaController :
 | 
			
		||||
            else -> min(binding.recycler.computeVerticalScrollOffset(), 255)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        (activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor(
 | 
			
		||||
        (activity as? MainActivity)?.binding?.toolbarLayout?.toolbar?.setTitleTextColor(
 | 
			
		||||
            Color.argb(
 | 
			
		||||
                calculatedAlpha,
 | 
			
		||||
                toolbarTextColor.red,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,71 +1,16 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/root_coordinator"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical">
 | 
			
		||||
 | 
			
		||||
    <eu.kanade.tachiyomi.widget.ElevationAppBarLayout
 | 
			
		||||
        android:id="@+id/appbar"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:fitsSystemWindows="true">
 | 
			
		||||
    <include
 | 
			
		||||
        android:id="@+id/toolbar_layout"
 | 
			
		||||
        layout="@layout/main_activity_toolbar" />
 | 
			
		||||
 | 
			
		||||
        <com.google.android.material.appbar.MaterialToolbar
 | 
			
		||||
            android:id="@+id/toolbar"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="?attr/actionBarSize"
 | 
			
		||||
            android:background="?attr/colorPrimary"
 | 
			
		||||
            android:theme="?attr/actionBarTheme"
 | 
			
		||||
            app:layout_scrollFlags="scroll|enterAlways" />
 | 
			
		||||
 | 
			
		||||
        <com.google.android.material.tabs.TabLayout
 | 
			
		||||
            android:id="@+id/tabs"
 | 
			
		||||
            style="@style/Theme.Widget.Tabs"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content" />
 | 
			
		||||
 | 
			
		||||
        <FrameLayout
 | 
			
		||||
            android:id="@+id/downloaded_only"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:background="@color/green"
 | 
			
		||||
            android:visibility="gone"
 | 
			
		||||
            tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_gravity="center"
 | 
			
		||||
                android:padding="4dp"
 | 
			
		||||
                android:text="@string/label_downloaded_only"
 | 
			
		||||
                android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
        </FrameLayout>
 | 
			
		||||
 | 
			
		||||
        <FrameLayout
 | 
			
		||||
            android:id="@+id/incognito_mode"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:background="@color/md_grey_800"
 | 
			
		||||
            android:visibility="gone"
 | 
			
		||||
            tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_gravity="center"
 | 
			
		||||
                android:padding="4dp"
 | 
			
		||||
                android:text="@string/pref_incognito_mode"
 | 
			
		||||
                android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
        </FrameLayout>
 | 
			
		||||
 | 
			
		||||
    </eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
 | 
			
		||||
 | 
			
		||||
    <LinearLayout
 | 
			
		||||
    <androidx.constraintlayout.widget.ConstraintLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
 | 
			
		||||
@@ -78,22 +23,24 @@
 | 
			
		||||
            app:itemIconTint="@color/nav_selector"
 | 
			
		||||
            app:itemTextColor="@color/nav_selector"
 | 
			
		||||
            app:labelVisibilityMode="labeled"
 | 
			
		||||
            app:layout_constraintBottom_toBottomOf="parent"
 | 
			
		||||
            app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
            app:layout_constraintTop_toTopOf="parent"
 | 
			
		||||
            app:menu="@menu/main_nav" />
 | 
			
		||||
 | 
			
		||||
        <com.bluelinelabs.conductor.ChangeHandlerFrameLayout
 | 
			
		||||
            android:id="@+id/controller_container"
 | 
			
		||||
            android:layout_width="0dp"
 | 
			
		||||
            android:layout_height="match_parent"
 | 
			
		||||
            android:layout_weight="1" />
 | 
			
		||||
            app:layout_constraintBottom_toBottomOf="parent"
 | 
			
		||||
            app:layout_constraintEnd_toEndOf="parent"
 | 
			
		||||
            app:layout_constraintStart_toEndOf="@+id/side_nav"
 | 
			
		||||
            app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
    </LinearLayout>
 | 
			
		||||
    </androidx.constraintlayout.widget.ConstraintLayout>
 | 
			
		||||
 | 
			
		||||
    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
 | 
			
		||||
        android:id="@+id/root_fab"
 | 
			
		||||
        style="@style/Theme.Widget.FAB"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        tools:icon="@drawable/ic_add_24dp"
 | 
			
		||||
        tools:text="Action"
 | 
			
		||||
        tools:visibility="visible" />
 | 
			
		||||
    <include
 | 
			
		||||
        android:id="@+id/fab_layout"
 | 
			
		||||
        layout="@layout/main_activity_fab" />
 | 
			
		||||
 | 
			
		||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,69 +1,14 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/root_coordinator"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical">
 | 
			
		||||
 | 
			
		||||
    <eu.kanade.tachiyomi.widget.ElevationAppBarLayout
 | 
			
		||||
        android:id="@+id/appbar"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:fitsSystemWindows="true">
 | 
			
		||||
 | 
			
		||||
        <com.google.android.material.appbar.MaterialToolbar
 | 
			
		||||
            android:id="@+id/toolbar"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="?attr/actionBarSize"
 | 
			
		||||
            android:background="?attr/colorPrimary"
 | 
			
		||||
            android:theme="?attr/actionBarTheme"
 | 
			
		||||
            app:layout_scrollFlags="scroll|enterAlways" />
 | 
			
		||||
 | 
			
		||||
        <com.google.android.material.tabs.TabLayout
 | 
			
		||||
            android:id="@+id/tabs"
 | 
			
		||||
            style="@style/Theme.Widget.Tabs"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content" />
 | 
			
		||||
 | 
			
		||||
        <FrameLayout
 | 
			
		||||
            android:id="@+id/downloaded_only"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:background="@color/green"
 | 
			
		||||
            android:visibility="gone"
 | 
			
		||||
            tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_gravity="center"
 | 
			
		||||
                android:padding="4dp"
 | 
			
		||||
                android:text="@string/label_downloaded_only"
 | 
			
		||||
                android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
        </FrameLayout>
 | 
			
		||||
 | 
			
		||||
        <FrameLayout
 | 
			
		||||
            android:id="@+id/incognito_mode"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:background="@color/md_grey_800"
 | 
			
		||||
            android:visibility="gone"
 | 
			
		||||
            tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_gravity="center"
 | 
			
		||||
                android:padding="4dp"
 | 
			
		||||
                android:text="@string/pref_incognito_mode"
 | 
			
		||||
                android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
        </FrameLayout>
 | 
			
		||||
 | 
			
		||||
    </eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
 | 
			
		||||
    <include
 | 
			
		||||
        android:id="@+id/toolbar_layout"
 | 
			
		||||
        layout="@layout/main_activity_toolbar" />
 | 
			
		||||
 | 
			
		||||
    <com.bluelinelabs.conductor.ChangeHandlerFrameLayout
 | 
			
		||||
        android:id="@+id/controller_container"
 | 
			
		||||
@@ -71,13 +16,9 @@
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
 | 
			
		||||
 | 
			
		||||
    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
 | 
			
		||||
        android:id="@+id/root_fab"
 | 
			
		||||
        style="@style/Theme.Widget.FAB"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        tools:icon="@drawable/ic_add_24dp"
 | 
			
		||||
        tools:text="Action"
 | 
			
		||||
        tools:visibility="visible" />
 | 
			
		||||
    <include
 | 
			
		||||
        android:id="@+id/fab_layout"
 | 
			
		||||
        layout="@layout/main_activity_fab" />
 | 
			
		||||
 | 
			
		||||
    <com.google.android.material.bottomnavigation.BottomNavigationView
 | 
			
		||||
        android:id="@+id/bottom_nav"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								app/src/main/res/layout/main_activity_fab.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/src/main/res/layout/main_activity_fab.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/root_fab"
 | 
			
		||||
    style="@style/Theme.Widget.FAB"
 | 
			
		||||
    android:visibility="gone"
 | 
			
		||||
    tools:icon="@drawable/ic_add_24dp"
 | 
			
		||||
    tools:text="Action"
 | 
			
		||||
    tools:visibility="visible" />
 | 
			
		||||
							
								
								
									
										60
									
								
								app/src/main/res/layout/main_activity_toolbar.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								app/src/main/res/layout/main_activity_toolbar.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<eu.kanade.tachiyomi.widget.ElevationAppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/appbar"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="wrap_content"
 | 
			
		||||
    android:fitsSystemWindows="true">
 | 
			
		||||
 | 
			
		||||
    <com.google.android.material.appbar.MaterialToolbar
 | 
			
		||||
        android:id="@+id/toolbar"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="?attr/actionBarSize"
 | 
			
		||||
        android:background="?attr/colorPrimary"
 | 
			
		||||
        android:theme="?attr/actionBarTheme"
 | 
			
		||||
        app:layout_scrollFlags="scroll|enterAlways" />
 | 
			
		||||
 | 
			
		||||
    <com.google.android.material.tabs.TabLayout
 | 
			
		||||
        android:id="@+id/tabs"
 | 
			
		||||
        style="@style/Theme.Widget.Tabs"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content" />
 | 
			
		||||
 | 
			
		||||
    <FrameLayout
 | 
			
		||||
        android:id="@+id/downloaded_only"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:background="@color/green"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
        <TextView
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_gravity="center"
 | 
			
		||||
            android:padding="4dp"
 | 
			
		||||
            android:text="@string/label_downloaded_only"
 | 
			
		||||
            android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
    </FrameLayout>
 | 
			
		||||
 | 
			
		||||
    <FrameLayout
 | 
			
		||||
        android:id="@+id/incognito_mode"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:background="@color/md_grey_800"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        tools:visibility="visible">
 | 
			
		||||
 | 
			
		||||
        <TextView
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_gravity="center"
 | 
			
		||||
            android:padding="4dp"
 | 
			
		||||
            android:text="@string/pref_incognito_mode"
 | 
			
		||||
            android:textColor="@color/md_white_1000" />
 | 
			
		||||
 | 
			
		||||
    </FrameLayout>
 | 
			
		||||
 | 
			
		||||
</eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
 | 
			
		||||
		Reference in New Issue
	
	Block a user