AppBarLayout在释放时反弹回固定偏移

时间:2018-10-14 10:26:45

标签: java android android-collapsingtoolbarlayout android-appbarlayout

在我的应用程序中,我在CollapsingToolBarLayout内有一个AppBarLayout,它包含一个平方的ImageView。由于此图形元素将占用设备屏幕的大部分内容,因此我为AppBarLayout设置了初始偏移量:

private void setAppBarOffset() {
    CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
    AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
    int difference = mAppBarLayout.getTotalScrollRange() - getSupportActionBar().getHeight();
    behavior.onNestedPreScroll(mCoordinatorLayout, mAppBarLayout, null, 0, (int) (difference * 0.51), new int[]{0, 0}, 0);
}

这很好,但让我们转到实际的问题。每当他进一步扩展AppBarLayout并释放触摸时,如何使AppBarLayout弹回该固定偏移量?这是CollapsingToolbarLayout扩展的50%的一个捕捉点。

所产生的效果已通过this library进行了存档,但未使用我需要的<android.support.design.widget.AppBarLayout android:id="@+id/app_layout_bar" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/songCoverImage" android:layout_width="match_parent" android:layout_height="200dp" android:adjustViewBounds="true" android:scaleType="centerCrop" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.7" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar_actionbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/transparent" app:layout_collapseMode="pin" app:elevation="16dp" app:layout_scrollFlags="enterAlways|exitUntilCollapsed" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout>

CoordinatorLayout

上面的代码是我现在在父AppBarLayout.Behavior中使用的代码。老实说,我找不到以类似的方式描述我的问题的东西。我看了一个覆盖const api_call= await fetch(`http://api.openweathermap.org/data/2.5/forecast?id=524901&APPID=${APIKEY}`); 的{​​{3}},但是它似乎在更新的支持库27上不起作用,甚至用较新的方法替换了不赞成使用的方法。

任何帮助将不胜感激。

0 个答案:

没有答案