如何禁用motionLayout转换?

时间:2019-11-20 07:07:42

标签: java android android-motionlayout

我有一个活动,其中在imageview的顶部有一个imageView,在其底部有一个recyclerview。当我滚动recyclerview时,我使用了MotionLayout来使imageView的底部约束动画化到屏幕顶部,并用recyclerview填充屏幕。一切正常。但是,我想要的是当recyclerview为空时,我不希望动画发生。根据{{​​3}}文档和this的答案,我使用了以下代码:

$fields = array(
  'plan_id' => 'plan_DiUORv81uf2uyu',
  'total_count' => 120,
  'customer_notify' => true,
  'addons' => [
    [
      'item' => array(
        'name' => 'Extra',
        'amount' => 2300,
        'currency' => 'USD'
      )
    ]
  ],
  'notes' => array(
    'notes_key' => 'Beam me up Scotty'
  )
);

但是,此代码不适用于我。即使添加此代码,动画仍然会发生。此代码有什么问题?我想念什么吗?

2 个答案:

答案 0 :(得分:0)

您的代码正确。我在constraintlayout:2.0.0-beta3上遇到过同样的问题(降级为beta2没有帮助)。

我找到了解决方法:

motionLayout.setTransition(-1, -1)

答案 1 :(得分:0)

motionLayout.enableTransition(R.id.transition,false)