mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Fix scroll position with many categories. Closes #332
This commit is contained in:
		@@ -139,6 +139,7 @@ class LibraryFragment : BaseRxFragment<LibraryPresenter>(), ActionMode.Callback
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun onDestroyView() {
 | 
			
		||||
        tabs.setupWithViewPager(null)
 | 
			
		||||
        tabs.visibility = View.GONE
 | 
			
		||||
        super.onDestroyView()
 | 
			
		||||
    }
 | 
			
		||||
@@ -261,18 +262,12 @@ class LibraryFragment : BaseRxFragment<LibraryPresenter>(), ActionMode.Callback
 | 
			
		||||
 | 
			
		||||
        // Set the categories
 | 
			
		||||
        adapter.categories = categories
 | 
			
		||||
        tabs.setupWithViewPager(view_pager)
 | 
			
		||||
        tabs.visibility = if (categories.size <= 1) View.GONE else View.VISIBLE
 | 
			
		||||
 | 
			
		||||
        // Restore active category.
 | 
			
		||||
        view_pager.setCurrentItem(activeCat, false)
 | 
			
		||||
        if (tabs.tabCount > 0) {
 | 
			
		||||
            // Prevent IndexOutOfBoundsException
 | 
			
		||||
            if (tabs.tabCount <= view_pager.currentItem) {
 | 
			
		||||
                view_pager.currentItem = (tabs.tabCount - 1)
 | 
			
		||||
            }
 | 
			
		||||
            tabs.getTabAt(view_pager.currentItem)?.select()
 | 
			
		||||
        }
 | 
			
		||||
        // Delay the scroll position to allow the view to be properly measured.
 | 
			
		||||
        view_pager.post { tabs.setScrollPosition(view_pager.currentItem, 0f, true) }
 | 
			
		||||
 | 
			
		||||
        // Send the manga map to child fragments after the adapter is updated.
 | 
			
		||||
        presenter.libraryMangaSubject.onNext(LibraryMangaEvent(mangaMap))
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,6 @@
 | 
			
		||||
            <include layout="@layout/toolbar"/>
 | 
			
		||||
 | 
			
		||||
            <android.support.design.widget.TabLayout
 | 
			
		||||
                xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
                xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
                android:id="@+id/tabs"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user