语境:我有一个活动ItemDetailActivity
和2片段,ItemDetailFrontFragment
和ItemDetailBackFragment
。这两个片段在ItemDetailActivity
中被托管,并且像卡片的正面和背面一样(考虑常规卡片组),并且我在它们之间切换以便用户看到卡片背面的附加信息。我也有动画附加到片段交易:前,后,前,后退;并用它们的方式:奥飞动漫会留下痕迹
getFragmentManager()
.beginTransaction().setCustomAnimations(
R.animator.card_flip_back_in, R.animator.card_flip_front_out,
R.animator.card_flip_front_in, R.animator.card_flip_back_out)
动画的一个例子,这里的card_flip_front_out
:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:valueFrom="0"
android:valueTo="-180"
android:propertyName="rotationY"
android:interpolator="@android:interpolator/accelerate_decelerate"
android:duration="@integer/card_flip_time_full"/>
<objectAnimator
android:valueFrom="1.0"
android:valueTo="0.0"
android:propertyName="alpha"
android:duration="@integer/card_flip_time_half"/>
<objectAnimator
android:valueFrom="1.0"
android:valueTo="0.8"
android:valueType="floatType"
android:propertyName="scaleY"
android:duration="@integer/card_flip_time_quarter"/>
<objectAnimator
android:valueFrom="1.0"
android:valueTo="0.6"
android:valueType="floatType"
android:propertyName="scaleX"
android:duration="@integer/card_flip_time_quarter"/>
问题:上述实现的每一个部分完美的作品,并按照计划,除了一个视觉故障。当卡的顶部旋转至ActionBar
之上时,该片段中的布局轨迹仍然绘制在ActionBar
之上。例如,如果在该片段中,我有一个红色的ImageView
,并且其中的一部分在ActionBar
之上旋转,那么它上面仍然存在红色线索。
我马上遇到了这个问题,因为我加入了alpha
动画。如果我从集合中删除它,那么这个问题就会消失。不幸的是,我需要动画alpha
,所以我无法删除它。
我尝试将ActionBar
设置为叠加层,然后向版式添加填充以将其压低到正确位置,但这并未改变任何内容。动画仍然绘制在ActionBar
之上。
这真是奇怪......显然,这不是对的Nexus 5这是一个问题,但是,在的Nexus 7 2012年都运行4.4.2 –
我看到了同样的问题,你看着办吧出来吗? – Justin
不,我只是做了动画,以便边缘不再重叠。 –