android:animateLayoutChanges不';触摸后才能显示视图
我正在构建一个应用程序,该应用程序具有向左滑动删除功能。我有一个撤销对话框,所以当用户决定“撤销”删除时,我只需通过恢复原始X位置并使其可见,将其显示在屏幕上即可。问题是,它不会重新出现,直到触摸视图,滚动视图,触摸按钮-几乎任何东西,然后它就会出现 我的观点是:android:animateLayoutChanges不';触摸后才能显示视图,android,Android,我正在构建一个应用程序,该应用程序具有向左滑动删除功能。我有一个撤销对话框,所以当用户决定“撤销”删除时,我只需通过恢复原始X位置并使其可见,将其显示在屏幕上即可。问题是,它不会重新出现,直到触摸视图,滚动视图,触摸按钮-几乎任何东西,然后它就会出现 我的观点是: for (int i = 0; i < container.getChildCount(); i++) { View item = container.getChildAt(i);
for (int i = 0; i < container.getChildCount(); i++) {
View item = container.getChildAt(i);
int tag = (int) item.getTag();
if (tag == deleteTag) {
item.setX(originalX);
item.setVisibility(View.VISIBLE);
item.setOnClickListener(snapShopDetailListener);
item.setOnTouchListener(removeTouchListener);
item.invalidate(); // force redraw
}
}
for(int i=0;i
我以编程的方式将它们放置到一个在Java中称为“容器”的线性布局中。在这里,它是与动画上
<LinearLayout
android:id="@+id/store_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:animateLayoutChanges="true"
android:orientation="vertical">
</LinearLayout>
我试图使视图无效并强制重新绘制,但这没有帮助。当它最终出现时,一切都像它应该的那样就位了,它只是一个空的空间,直到有东西被触碰
当我关机的时候
android:animateLayoutChanges=“false”
然后,视图就不那么漂亮了,但是它们进来了,并且保持n,我有问题。什么是originalX?你是怎么得到的?它不应该是0吗?应该是,但只要在动作中捕捉到它就可以了