在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/