在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项目时会出现问题..它只会动画视图的剩余部分而不是整个视图。
答案 0 :(得分:2)
问题在于,当我在parentView外移动视图时,视图会被剪切。
解决方案是将此选项添加到parentView:
android:clipChildren="false"
通过这种方式,parentView不会剪切childView,并且在从外部到内部的转换中,视图仍将像以前一样完成。