簡體   English   中英

Android ViewPager-浮動操作按鈕單擊

[英]Android ViewPager - floating action button clicks

我的MainActivityViewPager和浮動操作按鈕。 ViewPager中的每個片段都是6x6 GridLayout 單擊按鈕后,我想開始在GridLayout移動ImageView動畫。 起始位置和目標位置在列表中預定義。

mViewPager = findViewById(R.id.pager)
mViewPager.adapter = mSectionsPagerAdapter
mViewPager.currentItem = currentFragment

val fab: View = findViewById(R.id.floatingActionButton)
fab.setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View) {
      val c =  mViewPager.currentItem
      val fromView = grid.getChildAt(fromList[c]) as ImageView
      val toView = grid.getChildAt(toList[c]) as ImageView
      val anim = TranslateAnimation(0f, toView.x - fromView.x, 0f, toView.y - fromView.y).apply {
          duration = 500
          fillAfter = false
      }
      fromView.startAnimation(anim)
}

動畫可以按預期工作,但是問題在於它只能在首頁上工作。 當我切換到其他頁面並單擊按鈕時,什么也沒有發生。 當我回到首頁時,也沒有任何反應。 有人可以解釋為什么會這樣嗎? 我如何解決它? 謝謝。

如果您知道應用程序中有多少“頁面”,則可以設置offscreenpagesize 有時發生的事情是將頁面滑離焦點,這些片段的上下文可能會丟失。

viewPage.setOffscreenPageLimit(<number of fragments 'tabs'>);

在此處查看此方法的更多詳細信息。

如果您有多個頁面,請不要使用setOffscreenPageLimit

嘗試在每個片段中添加fab.setOnClickListener

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM