2

RecyclerView我需要在包含 a和a 的布局上创建反弹动画ImageView。为了简化解释,这里是我当前布局的说明:

在此处输入图像描述

( Red ) 占据所有屏幕尺寸,并在其下方放置一个RecyclerView( Green ) ,它在开始时看不到。这两个视图包含在具有垂直方向的(蓝色)中。ImageViewLinearLayout

我想要做的是将LinearLayout50dp 向上移动,然后使用反弹动画将其放回原处,以便图像视图仅在此动画期间可见。

问题是当我LinearLayout用这段代码提出时:

mLayout.postDelayed(new Runnable() {
        @Override
        public void run() {
            mLayout.animate().y(-500f);
        }
    }, 1000);

ImageView 没有显示,更多的是当我使用 DDMS 并在移动动画之后获取 XML 布局的快照时,看起来图像甚至不是布局的一部分。

更新: 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>

有人知道为什么,以及如何解决这个问题吗?

4

1 回答 1

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>
于 2016-07-28T09:10:36.180 回答