android - CoordinatorLayout + TabView + AnimateView(自上而下)

标签 android animation scroll android-tablayout android-coordinatorlayout

昨天 我正在玩 CoordinatorLayoutTabView

1) 我的目标是什么?

  • CoordinatorLayoutTabView
  • 当我向上滚动一个 View .GIF所示 向下移动
  • Stick 位于 TabView 的顶部(在 AppBar 内)。

enter image description here

2) 我到达了哪里?

  • CoordinatorLayoutTabView 的漂亮滚动。
  • 带有 Appbar 的 TabView 在滚动 RecyclerView 之后停止在顶部滚动。

enter image description here

3) 我卡在哪里了?

  • 当我向上滚动 一个 View 向下滚动但 TabView 停留在顶部时,不像第一个 gif

4) 代码 fragment

  • XML文件

    <android.support.design.widget.AppBarLayout
        android:id="@+id/main.appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <!--- ADD TAB_LAYOUT HERE -->
    
    
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/main.collapsing"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll">
    
            <ImageView
                android:id="@+id/main.backdrop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                android:src="@drawable/abc"
                app:layout_collapseMode="none" />
    
    
            <!-- ADD ANY THING THAT GETS SCROLLED ALL THE WAY UP WITH TOOLBAR -->
        </android.support.design.widget.CollapsingToolbarLayout>
    
    
        <!-- our tablayout to display tabs  -->
        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
    
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
    
    
    </android.support.design.widget.AppBarLayout>
    
    
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    

  • Java文件(上移代码)

    AppBarLayout ab = (AppBarLayout) findViewById(R.id.main_appbar);ab.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
        @Override
        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
    
            int ScrollStart = (ab.getHeight() - tabLayout.getHeight() - llTop.getHeight() - llTop.getHeight());
            int scrollStop = (ab.getHeight() - tabLayout.getHeight() - llTop.getHeight());
            if ((-verticalOffset) > ScrollStart && (-verticalOffset) < scrollStop) {
                llTop.setVisibility(View.VISIBLE);
                llTop.setTranslationY(((-verticalOffset) - ScrollStart) - llTop.getHeight());
                Log.e("point", "" + ((-verticalOffset) - ScrollStart));
    
            } else if ((-verticalOffset) >= scrollStop) {
                llTop.setVisibility(View.VISIBLE);
            } else {
                llTop.setVisibility(View.INVISIBLE);
            }
    
    
        }
    });
    

最佳答案

有点棘手..

只需像这样尝试setMinimumHeight您的CollapsingToolbarLayout,并告诉我。

CollapsingToolbarLayout layoutCollapsing = (CollapsingToolbarLayout) rootView.findViewById(R.id.layoutCollapsing);
layoutCollapsing.setMinimumHeight(120); 

此处根据您的需要计算您的最小高度并将其设置为 setMinimumHeight(120) 值。

关于android - CoordinatorLayout + TabView + AnimateView(自上而下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673097/

相关文章:

android - 如何以编程方式更改 Android L 中的原色?

android - cordova android 应用程序中预填充的 sqlite 数据库问题

android - 在方向更改时保留列表 fragment 中的列表

ios - 第一次单击时快速动画按钮会跳跃

android - 如何获取子 Activity 以扩展 MapActivity

jquery - 如何在固定时间间隔后滑动文本

jquery - 更改 Lightbox 2 动画速度

javascript - 在视口(viewport)中可见对于加载的所有内容都返回可见

android - ListView 项目位置切换并在滚动时干扰

ios - UIdatepicker 不能自由移动