在TranslateAnimation期间,我尝试将视图从窗口外部移动到内部。

在一个建议中,他们说要使用ScrollView,但即使使用它也没有任何改变。

还有其他方法可以做到吗?

编辑

这是布局:

<RelativeLayout android:layout_width="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/login_linear_layout"
    android:layout_height="wrap_content"
    android:background="@color/background_box" >

    <com.project.view.PullToRefreshListView
        android:dividerHeight="0dp"
        android:divider="#000"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/mainList"
        android:background="@color/background_list"
        />

    <include layout="@layout/element_contacts_button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />
</RelativeLayout>


这是动画

private void bounceBackHeader(){
    int yTranslate = state == State.REFRESHING ?
            header.getHeight() - headerContainer.getHeight() :
            -headerContainer.getHeight() - headerContainer.getTop() + getPaddingTop();

    TranslateAnimation bounceAnimation = new TranslateAnimation(
            TranslateAnimation.ABSOLUTE, 0,
            TranslateAnimation.ABSOLUTE, 0,
            TranslateAnimation.ABSOLUTE, 0,
            TranslateAnimation.ABSOLUTE, yTranslate);

    bounceAnimation.setDuration(BOUNCE_ANIMATION_DURATION);
    bounceAnimation.setFillEnabled(true);
    bounceAnimation.setFillAfter(false);
    bounceAnimation.setFillBefore(true);
    bounceAnimation.setInterpolator(new OvershootInterpolator(BOUNCE_OVERSHOOT_TENSION));
    bounceAnimation.setAnimationListener(new HeaderAnimationListener(yTranslate));

    startAnimation(bounceAnimation);
}


当我拖动..的listview项时,会发生问题。它仅对视图的其余部分进行动画处理,而不对整个视图进行动画处理。

最佳答案

问题是当我将视图移到parentView之外时,该视图被剪切了。

解决方案是将此选项添加到parentView中:

android:clipChildren="false"


这样,parentView将不会剪切childView,并且在从外到内的转换中,视图仍将像以前一样完整。

关于android - 半隐藏 View 的TranslateAnimation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22564824/

10-13 03:40