android-viewpager2

ViewPager2/Tabs problem with ViewModel state

ε祈祈猫儿з 提交于 2020-02-29 13:20:48
问题 I am following the MVVM pattern - meaning I have a ViewModel for each Fragment. I added two tabs by using ViewPager2. My adapter looks like this: @Override public Fragment createFragment(int position) { switch (position) { case 0: return new MergedItemsFragment(); case 1: return new ValidatedMergedItemsFragment(); } return new MergedItemsFragment(); } The tabs are working. However, I noticed that the ViewModel of my MergedItemsFragment is behaving weirdly. Before I added tabs I navigated to

java.lang.IllegalStateException: Page can only be offset by a positive amount

梦想的初衷 提交于 2020-02-21 05:53:46
问题 I am getting this error in my Pre-Launch Reports, but it doesn't show any references to my .java files. Can anyone please shed some light on this? I'm using a ViewPager2 (1.0.0) with page transformations. Issue: java.lang.IllegalStateException: Page can only be offset by a positive amount, not by -54 FATAL EXCEPTION: main Process: [redacted], PID: 18424 java.lang.IllegalStateException: Page can only be offset by a positive amount, not by -54 at androidx.viewpager2.widget.ScrollEventAdapter

FragmentStateAdapter throws java.lang.IllegalStateException: Design assumption violated after configuration change

Deadly 提交于 2020-01-23 19:59:12
问题 FragmentStateAdapter throws java.lang.IllegalStateException: Design assumption violated, when the device is rotated. How do I resolve this issue ? private inner class PagerAdapter : FragmentStateAdapter(this) { private val ids = LongSparseArray<Media>() override fun getItemCount(): Int = adapter.itemCount override fun getItemId(position: Int): Long { return adapter.source!![position].time } override fun containsItem(itemId: Long): Boolean { return ids[itemId] != null } } Exception java.lang

View Pager with previous and next item smaller in size with infinite scroll

家住魔仙堡 提交于 2019-12-18 09:15:09
问题 Want to create the view pager same as following UI, applied custom transformer but not working. ViewPager.java public class MyViewPager extends ViewPager implements ViewPager.PageTransformer { public static final String TAG = "MyViewPager"; private float MAX_SCALE = 0.0f; private int mPageMargin; private boolean animationEnabled=true; private boolean fadeEnabled=false; private float fadeFactor=0.5f; public MyViewPager(Context context) { this(context, null); } public MyViewPager(Context

Android - Program type already present com.transition.R while importing ViewPager2 library

天涯浪子 提交于 2019-12-06 14:05:11
Gradle is throwing Program type already present: androidx.transition.R" after importing androidx.viewpager2:viewpager2:1.0.0-beta02 implementation 'androidx.viewpager2:viewpager2:1.0.0-beta02' implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.vectordrawable:vectordrawable:1.0.1' implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' AGPBI: {"kind":"error","text":"Program type already present: androidx.transition.R","sources":[{}],"tool":"D8"} Expected outcome: Gradle should compile with no error

How to use TabLayout with ViewPager2 in Android

十年热恋 提交于 2019-12-01 03:04:35
I want to use com.google.android.material.tabs.TabLayout component with Android's new ViewPager implementation androidx.viewpager2.widget.ViewPager2 . However, the setupWithViewPager(..) method provided by TabLayout supports only the old ViewPager implementation. Is there a way to bind a TabLayout to a ViewPager2 component easily? You have to use this TabLayoutMediator that mimics tabLayout.setupWithViewPager() and sets up the ViewPager2 with Tablayout . Otherwise you will have to write your own adapter that will combine both parties. Initialize the TabLayoutMediator object with an object of

How to use TabLayout with ViewPager2 in Android

一世执手 提交于 2019-11-30 21:55:05
问题 I want to use com.google.android.material.tabs.TabLayout component with Android's new ViewPager implementation androidx.viewpager2.widget.ViewPager2 . However, the setupWithViewPager(..) method provided by TabLayout supports only the old ViewPager implementation. Is there a way to bind a TabLayout to a ViewPager2 component easily? 回答1: You have to use this TabLayoutMediator that mimics tabLayout.setupWithViewPager() and sets up the ViewPager2 with Tablayout . Otherwise you will have to write

Use of ViewPager2 in Android

杀马特。学长 韩版系。学妹 提交于 2019-11-26 22:40:08
I came to know about ViewPager2 and Tried to implement it but didn't found any proper example. Can anyone tell me how can I use it. I am looking for hint, not an example. UPDATE 5 How to use TabLayout with ViewPager2 SAMPLE CODE Use below dependencies implementation 'com.google.android.material:material:1.1.0-alpha08' implementation 'androidx.viewpager2:viewpager2:1.0.0-beta02' SAMPLE CODE XMl layout <?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

Use of ViewPager2 in Android

你离开我真会死。 提交于 2019-11-26 02:57:10
问题 I came to know about ViewPager2 and Tried to implement it but didn\'t found any proper example. Can anyone tell me how can I use it. I am looking for hint, not an example. 回答1: UPDATE 7 Check : Migrate from ViewPager to ViewPager2 Check : Create swipe views with tabs using ViewPager2 UPDATE 6 Check out my answer if you want to implement Carousel using View Pager2 UPDATE 5 How to use TabLayout with ViewPager2 SAMPLE CODE Use below dependencies implementation 'com.google.android.material