3

这是我的问题:

我有一个 ViewAnimator 像:

<ViewAnimator
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/viewanimator">

    <ViewStub
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/form_viewstub"
        android:inflatedId="@+id/form_view"
        android:layout="@layout/form_layout"/>

    <ViewStub
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/history_viewstub"
        android:inflatedId="@+id/history_view"
        android:layout="@layout/history_layout"/>

    <ViewStub
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/call_viewstub"
        android:inflatedId="@+id/call_view"
        android:layout="@layout/call_layout"/>

</ViewAnimator>

当我为当前之后的视图设置动画时,没有问题。问题是,当我之前尝试为 viewtub 设置动画时,我看不到动画。这是一个具体的例子:

当我尝试id/history_viewstub使用以下动画制作动画并且id/call_viewstub是当前显示的布局时,我什么都看不到(我想动画是在当前视图后面播放的)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromXScale="0.0"
        android:toXScale="1.0"
        android:fromYScale="0.0"
        android:toYScale="1.0"
        android:pivotX="1.0"
        android:pivotY="0.0"
        android:fillAfter="true"
        android:duration="600"/>
    <translate
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:duration="600"/>
</set>

有人已经遇到过这个问题吗?

有没有办法z-index像在 web 开发中那样为视图指定一个?


编辑

使用该ZAdjustment属性并不能解决问题

4

3 回答 3

1

我确定您已经解决了这个问题,但是由于没有答案……您应该可以使用android:zAdjustment="top".

于 2012-03-09T21:10:43.827 回答
0

您可以使用此View.bringToFront

此方法会将您的视图移动到子列表的末尾。所以它和其他视图索引会改变。请注意这一点。

于 2013-07-16T11:38:34.360 回答
-1

在我看来,您实际上并没有使用该类的功能,ViewAnimator而只是使用了继承的FrameLayout类。

要为视图转换设置动画,您需要在 上设置android:inAnimationandroid:outAnimation属性,ViewAnimator并使用setDisplayedChild()showNext()和启动代码中的转换showPrevious()

于 2011-10-29T08:35:50.573 回答