在我的应用程序中,我有两个活动。在这两个活动中,我在不同的位置都有一个FloatingActionButton。当我从Activity A切换到Activity B时,我想通过sharedElement-transition移动FloatingActionButton。移动FloatingActionButton没问题,一切正常。但是,我设置为FAB源的图像以奇怪的方式改变。
第一张图片显示了活动A中的FAB,这里的一切都是正确的。 第二张图显示了活动B中的FAB,但工厂上的图像不正确。
请参阅两个FAB的xml-layout。
活动A(如第一张截图所示):
<android.support.design.widget.FloatingActionButton
android:id="@+id/myButton"
android:transitionName="@string/transition_fab"
android:layout_width="?android:attr/actionBarSize"
android:layout_height="?android:attr/actionBarSize"
app:layout_anchor="@id/bottomBarLayout"
app:layout_anchorGravity="center_horizontal"
app:backgroundTint="@color/red"
android:src="@drawable/fabplus"
android:scaleType="fitXY"
android:padding="@dimen/padding_normal"
android:elevation="4dp"/>
活动B(如第二张截图所示):
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingActionButton"
android:transitionName="@string/transition_fab"
android:layout_width="?android:attr/actionBarSize"
android:layout_height="?android:attr/actionBarSize"
android:layout_gravity="bottom|right"
android:layout_margin="@dimen/padding_normal"
app:backgroundTint="@color/red"
android:src="@drawable/fabplus"
android:scaleType="fitXY"
android:padding="@dimen/padding_normal"
android:elevation="4dp"/>
我用来启动shareElementTransition的代码如下:
Intent intent = new Intent(this, DetailsActivity.class);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, mStartStopButton, getResources().getString(R.string.transition_fab));
startActivity(intent, options.toBundle());
非常感谢任何帮助!