我需要在包含RecyclerView
和ImageView
的布局上创建一个反弹动画。为简化说明,这里是我当前布局的说明:
RecyclerView
(红色)占据所有屏幕尺寸,在其下面我定位了ImageView
(绿色)一开始。这两个视图包含在具有垂直方向的LinearLayout
(蓝色)中。
我想要做的是将LinearLayout
50dp向上移动,然后使用反弹动画将其放回,这样图像视图才会在此动画中显示。
问题在于,当我使用此代码提升LinearLayout
时:
mLayout.postDelayed(new Runnable() {
@Override
public void run() {
mLayout.animate().y(-500f);
}
}, 1000);
当我使用DDMS并在移动动画之后获取XML布局的快照时,看起来图像甚至不是布局的一部分时,不再显示ImageView。
更新: xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
android:animateLayoutChanges="true"
android:theme="@style/AppTheme.MyTopics.Theme"
tools:mContext=".ui.fragments.MyTopicsFragment">
<include
android:id="@+id/toolbar_container"
layout="@layout/toolbar_timeline_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@id/toolbar_container">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.lsjwzh.widget.recyclerviewpager.RecyclerViewPager
android:id="@+id/vertical_recycler_view"
style="@style/NoOverScrollStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:rvp_singlePageFling="true"/>
</android.support.v4.widget.SwipeRefreshLayout>
<ImageView
android:id="@+id/first_time_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_below="@+id/swipe_refresh"
android:background="@android:color/holo_green_dark"
android:src="@drawable/drawable_image_tutorial_background"/>
</LinearLayout>
<com.shellanoo.newsbot.ui.views.GeneralErrorView
android:id="@+id/no_data_errors_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:gev_no_data_view_layout="@layout/view_no_data_timeline"/>
<com.shellanoo.newsbot.ui.views.ProgressWheel
android:id="@+id/loading_pb"
style="@style/AppTheme.ProgressBar.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility="gone"/>
<ImageView
android:id="@+id/my_topics_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_gravity="bottom|left"
android:paddingBottom="20dp"
android:paddingLeft="24dp"
android:paddingRight="30dp"
android:paddingTop="20dp"
android:visibility="gone"
app:srcCompat="@drawable/profile_main"
tools:visibility="visible"/>
<ImageView
android:id="@+id/add_topics_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_gravity="bottom|right"
android:paddingBottom="20dp"
android:paddingLeft="30dp"
android:paddingRight="24dp"
android:paddingTop="20dp"
android:visibility="gone"
app:srcCompat="@drawable/plus_main"
tools:visibility="visible"/>
<com.shellanoo.newsbot.ui.views.NewStoriesIndicatorView
android:id="@+id/new_items_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:padding="8dp"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7"
tools:text="5 new items"/>
</RelativeLayout>
有人知道原因,以及如何解决这个问题?
答案 0 :(得分:0)
试试这个
<RelativeLayout
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="200dp">
<com.lsjwzh.widget.recyclerviewpager.RecyclerViewPager
android:id="@+id/vertical_recycler_view"
style="@style/NoOverScrollStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:rvp_singlePageFling="true"
android:minHeight="200dp"/>
</android.support.v4.widget.SwipeRefreshLayout>
<ImageView
android:id="@+id/first_time_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_below="@+id/swipe_refresh"
android:background="@android:color/holo_green_dark"
android:src="@drawable/drawable_image_tutorial_background"/>
</RelativeLayout>