Android:sharedElement-transition有不受欢迎的行为

时间:2016-02-10 21:52:43

标签: android layout

在我的应用程序中,我有两个活动。在这两个活动中,我在不同的位置都有一个FloatingActionButton。当我从Activity A切换到Activity B时,我想通过sharedElement-transition移动FloatingActionButton。移动FloatingActionButton没问题,一切正常。但是,我设置为FAB源的图像以奇怪的方式改变。

第一张图片显示了活动A中的FAB,这里的一切都是正确的。 第二张图显示了活动B中的FAB,但工厂上的图像不正确。

Activity A: the FAB's image is correct Activity B: the FAB's image is scaled or so

请参阅两个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());

非常感谢任何帮助!

0 个答案:

没有答案